JsBridage

Js与原生交互的方式:

通过注入对象或拦截 URL SCHEME实现JSBridge

Read more

Image

内存所在位置

Android 2.3 之前: 像素数据存在于native heap

Android 3.0 ~ 7.1 之间: 存在于 java heap

Android 8.0及之后: 存在于 native

Read more

Android Build

Apk总构建流程

简述

Aapt 会将主工程、依赖库中的资源(res、assets)和androidManifest都合并,产出R.java、资源及资源索引resources.arsc;

之后javac编译包括R.java文件、主工程的java文件、aidl产生的java文件,产出class文件;如果需要插桩的话就插桩

之后使用Proguard/R8混淆工具对.class文件脱糖、压缩、混淆等,产出新的class文件;

之后使用Dx/D8编译工具将新的class文件再转换成dex文件,

之后打包成apk,然后签名、zipalign优化。

工具:aapt/aapt2、javac、Proguard/R8、Dx/D8、ApkBuilder、zipalign

img

Read more