java -jar apksigner.jar verify -v my.apk Verifies Verified using v1 scheme (JAR signing): trueVerified using v2 scheme (APK Signature Scheme v2): true查看jar签名jarsigner -verify -verbose -certs Superuse
ProgressDialog创建的线程要和show的线程同一个,否则当调用dismiss时会报错 - dismiss可以在任意线程,api会自动切换到创建ProgressDialog线程中,所以当show跟创建不是一个线程时会闪退 Process: com.myapp.demo.oaid, PID: 10174 android.view.ViewRootImpl$CalledFromWron
我正在使用StrictMode来查找非SDK用法:if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectNonSdkApi
bundletool下载:https://github.com/google/bundletool/releases注意点:请勿使用Android构建工具包中包含的AAPT2版本,因为它不支持bundletool可以到此地址找对应版本名称:https://maven.google.com/web/index.html#com.android.tools.build:aapt2替换下面下载地址的名称
aapt2compile资源(编译res目录下的资源)--dir编译的目录-o编译生成的压缩包--legacy将使用早期版本的AAPT时允许的错误视为警告aapt2compile-ooutRes.zip--dirres--legacyaapt2compile(目标资源文件编译)编译出对应flat文件aapt2compileres/values/string.xml-ocompiled/aapt2l
h5:<!doctypehtml><htmllang="en"><head><metacharset="UTF-8"><metaname="Generator"content="EditPlus®"><metaname="Author"content=""><metaname="Keywords"content=""&g
WindowManager显示负坐标,需要设置LayoutParamsflag为FLAG_LAYOUT_NO_LIMITSLayoutParamstype为2007以上PopupWindow也是设置WindowManager的,查看了内部代码,.要设置flag为FLAG_LAYOUT_NO_LIMITS,则需要在setContentView之前设置thissetClippingEnabled(fa
https://www.jianshu.com/p/ae4d433597ce
https://www.cnblogs.com/dolphin0520/p/3920373.html
res:资源目录ForRes:资源目录./aaptpackage-f-Sres-SForRes-MAndroidManifest.xml--auto-add-overlay-Iandroid.jar-F./myres.apk两个资源整合进myres.apk--auto-add-overlay:整合覆盖重复资源res覆盖ForRes资源value下的attrs.xml不会自动整合覆盖,需要另外处理
工具下载:https://github.com/home-hwt/android/tree/master/decode_apkgenymotion模拟器下载http://www.genymotion.net/FDex2通过HookClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),在将里面的dex写出dex2jar将d
简书:https://www.jianshu.com/p/9703a931c7e7dagger单例无module的使用方式:只需要在依赖的类和Component类添加@Singleton即可有module的使用方式:Component必须添加@Singleton标注,然后再根据需要给Module中@provides标注的方法再标注上@Singleton@Singleton:确定生成的类为单列,也就
http://androidwing.net/index.php/294
https://juejin.im/post/5a7146fd51882573351a9d99
https://github.com/markzhai/AndroidPerformanceMonitor/blob/master/README_CN.md
Androidsupportlibrary从19.1版本开始引入了一个新的注解库,它包含很多有用的元注解,你能用它们修饰你的代码,帮助你发现bug(编译报错提醒)添加依赖:implementation'com.android.support:support-annotations:22.2.0'使用注解:@IntDef&@StringDef(替代Java中枚举的注解)@Nu
依赖项://AutoDispose解决RxJava内存泄漏implementation'androidx.appcompat:appcompat:1.0.2'implementation'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'implementation'com.uber.autodispose:autodispose:1.
https://www.jianshu.com/p/f34c179bc9d0
https://juejin.im/post/5bf22bb5e51d454cdc56cbd5
基于aspectJ实现埋点操作配置环境:直接使用大神的:https://github.com/JakeWharton/hugo先配置项目build.gradledependencies{classpath'com.jakewharton.hugo:hugo-plugin:1.2.1'}app/build.gradleapplyplugin:'com.jakewharton.hugo'Advice切
android中的dp在渲染前会将dp转为px,计算公式:px=density*dp;density=dpi/160;px=dp*(dpi/160);dpi=√widthpixwidthpix+heightpixheightpix/尺寸大小android中所有的dp和px的转换都是通过DisplayMetrics中相关的值来计算的假设设计图宽度是360dp,以宽维度来适配。那么适配后的densit
一.Android应用安装路径有两种情况:system/app系统自带的应用程序,无法删除。root后可以删除,注意可能造成系统崩溃,不过有的垃圾捆绑软件只能这么删除了data/app用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录。data/data存放应用程序的数据。data/dalvik-cache将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalv
java:类加载原理:当类加载器收到加载类或资源的请求时,通常都是先委托给父类加载器加载,也就是说只有当父类加载器找不到指定类或资源时,自身才会执行实际的类加载过程,具体的加载过程如下:1、源ClassLoader先判断该Class是否已加载,如果已加载,则直接返回Class,如果没有则委托给父类加载器。2、父类加载器判断是否加载过该Class,如果已加载,则直接返回Class,如果没有则委托给祖
JNIEnv<------->JNINativeInterfaceJNIEnv、jobject和jclass这三种基本类型操作API都在JNIEnv中,JNIEnv为Java与C/C++通信桥梁jobject:Java层传递的对象(普通native方法传递)jclass:Java层对应的Class类(静态native方法传递)native普通方法与静态方法区别:Jni传递参数是jobj
InvalidAndroidABI:armeabi.(armeabiisnolongersupported.Usearmeabi-v7a.)在对应工程的build.gradle中添加abiFilters"arm64-v8a","armeabi-v7a","x86","x86_64"
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号