layout: post author: “ooftf” tags: Android —
获取密钥详情
需要Java环境 keytool -list -v -alias master -keystore C:\StudioProjects\Master\app\lihang.jks
项目打印依赖
gradlew :app:dependencies
在kotlin项目中 注解处理器要使用kapt代替annotationProcessor,annotationProcessor(可能会失效?)
1
添加 apply plugin: 'kotlin-kapt'
可变参数
{一个数组}或者{多个参数}都可以
Intent
Intent.resolveActivity 用来检查是否有隐式注册
Toast如果show两次在某些机型(小米的部分手机)会不显示toast
Manifest merger failed with multiple errors MMKV 最低版本16
如果断点放到return 语句上 会走两次
compileSdkVersion 决定了查看源码的版本
签名选择V1和V2的时候要,两个都选,如果只选v1,没有v2安全,如果只选v2有可能在android低版本上安装出现[install_parse_failed_no_certificates]
在保存图片到本地的需求中,最好将图片保存在一级目录,因为在小米系统中保存在一级目录 (MyImage/sample.png)在打开相册是会提示新图片,但是如果保存到二级目录 (MyImage/download/sample.png)中则不不会有提示
类的内部各个部分调用顺序
1
(加载类)静态变量赋值 ---> 静态代码块 --(实例化)--> 进入构造方法 ---> super构造方法 ---> 非静态变量赋值---> 非静态代码块---> 构造方法实体 # LocalMaven publish 后 主项目不需要同步和Clean直接run就可以
手机抓包教程 https://www.jianshu.com/p/724097741bdf
渐变色 https://uigradients.com/#Opa
ObservableField和LiveData set同一个对象 不会触发change事件,可以用ObservableField 的notifyChange ?????
LiveData设置同一个对象,也会触发change事件,LiveData.getValue的初始值为null
ObservableField设置同一个对象,不会触发change事件,需要用的notifyChange触发.设置不同的对象可以触发;ObservableField.get()初始值为null
LiveData和ObservableField的内部属性设置新值都不会触发改变
广告
1
2
3
4
5
6
7
8
try {
Drawable drawable = GlideApp.with(this).load("").apply(new RequestOptions().onlyRetrieveFromCache(true)).submit().get();
GlideApp.with(this).load("").preload();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
androidx
1
2
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/multidex/MultiDex;
clean 以下就可以了
gradle_plugin_android_aspectjx java.lang.ClassNotFoundException
如何查看Apk引用
为什么声明变量中的泛型类型无法获取,而继承时的泛型类型可以获取
例如
1
ArrayList<String> list
声明泛型变量并不会产生新的 class ,所以并不能通过 class 确定泛型类型,其类型还是 ArrayList
但是如果是继承
1
class Test extends ArrayList<String>{}
这里是产生了新的 class 类型 并且在 类型信息 Signature 中储存了泛型类型,所以可以通过 class 确定泛型类型