Gradle自定义插件和发布
Gradle自定义插件和发布这篇文章讲解的是如何自定义gradle插件,并以本地依赖和远程依赖的方式来集成。
本文大体结构和内容基于:gradle官网的教程:开发自定义gradle插件
约定俗成的说法:
插件消费者项目:使用对应插件的项目。
开发插件的项目:独立的,用来开发gradle插件的项目。
开始:
自定义gradle插件的三种形式:
直接在项目中写一个插件,并由build.gradle直接应用来使用。
在独立的项目中开发插件,并以本地依赖的形式集成。
在独立的项目中开发插件,并以远程依赖的形式集成。
1 直接在项目中写插件并应用2 在独立的项目中开发一个插件,本地依赖2.1 新
2019-09-24
Gradle
ndk:还用不用armeabi
https://stackoverflow.com/questions/28926101/is-it-safe-to-support-only-armeabi-v7a-for-android-4-and-above/28926267#28926267
https://android.stackexchange.com/questions/34958/what-are-the-minimum-hardware-specifications-for-android
https://www.reddit.com/r/androiddev/comments/5u64yh/which_abi_shoul
2019-08-27
ndk
C语言学习笔记
1. C的预处理器.h头文件//文件名:main.c
#include <stdio.h>
int main(void){
...
}
#include是C语言的预处理指令,C语言编译器在编译前会对源码进行预处理工作。他的作用就是把所有头文件中的内容,完全copy进入当前的.c文件中。
一般头文件中定义一些常量或者函数,而其函数实现在另一个文件中。那么,编译完成之后,C的连接器就会将这个main.c文件中用到的其他库中的文件给提取出来,一起和当前的main.c文件组合成一个二进制的可执行文件xxx.exe。
#defin定义常量通用格式:#define NAME val
2019-08-12
C
IjkPlayer的-"dns_cache_clear"
今天遇到了一个在IjkPlayer播放中途切换拉流协议播放失败的问题。
http-flv协议的拉流地址切换到rtmp协议的拉流地址,播放失败,并报-10000的错误。
而销毁再重建播放器,则可以播放成功。
上ijkplayer的issue上面查了同样的几个问题,发现开启如下的选项可以解决问题:
ijkPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_clear", 1);
大致原因是:
rtmp的url为:
rtmp://abchttp-flv的url为:
https:abc.flv
这两个url
2019-08-12
音视频开发
Https扫盲
理解 HTTPS 前需要理解这些概念:明文、密文、密码、密钥、对称加密、非对称加密、摘要、数字签名、数字证书
密码cipher密码学中的密码(cipher)和我们日常生活中所说的密码不太一样,计算机术语『密码 cipher』是一种用于加密或者解密的算法,而我们日常所使用的『密码 password』是一种口令,它是用于认证用途的一组文本字符串,这里我们要讨论的是前者:cipher。
密钥 key密钥是一种参数,它是在使用密码(cipher)算法过程中输入的参数。同一个明文在相同的密码算法和不同的密钥计算下会产生不同的密文。很多知名的密码算法都是公开的,密钥才是决定密文是否安全的重要参数,通常密钥
2019-08-08
网络
Kotlin泛型
Kotlin的泛型比Java更加强大,保障虚拟机运行安全的基础上,功能更加完善。我看了几次泛型都没有记住,回过头来重新梳理总结一番。
定义父类和子类package william
interface Parent {
}
interface Parent2 {
}
open class Person : Parent, Parent2 {
}
class Child : Person() {
}
class Child2 : Person() {
}
用Java演示//list1中的元素是Person的子类,但是具体是哪一种不好说。
List<? extends
2019-07-30
Kotlin
Android修改应用包名和ApplicationId:实战和理解
今天遇到了一个需求是,要改应用的applicationId然后上架,那么我以前的做法是将应用的包名一起给改了,让包名和applicationId统一。但是我今天想了一下,是否可以不改包名,只改appId,那么后期就不用维护两套差异比较大的代码了,毕竟改了包名,包的结构会发生改变,那么git分支合并就会有比较多的冲突了。
结论:可以只改build.gradle中的applicationId来改包名,因为后者会覆盖掉Manifest文件中的,但是有使用的限制场景(文末指出了限制场景)。
1. 理解Manifest中定义的包名和gradle中定义的applicationId的差异结论在gradle构
2019-07-25
Android
Package-Name-vs--Application-ID-–-Styling-Android
原文地址 https://blog.stylingandroid.com/package-name-vs-application-id/
All Android developers should understand that the Package Name that we choose for our app is very important. I’m referring to the Package Name of the application itself (which gets declared in the Manifest) rather than the Java p
2019-07-25
外文搬运