Android 打包相关学习
APK打包流程图
aapt.exe
call "../aapt.exe" package -f -m -J ../src/main/gen/ -M ../src/main/AndroidManifest.xml -S ../src/main/res -I ..\Android\sdk/platforms/android-29/android.jar
-f: 覆盖现有的文件命令,加上后编译生成直接覆盖目前已经存在的R.java
-m: 使生成的包的目录放在-J参数指定的目录
-J: 指定R.java输出的路径
-M: AndroidManifest.xml的路径
-S: 指定资源目录 一般是 res
-I: 指定的SDK版本中android.jar的路径
生成 R.java
javac.exe
call "../OpenJDK/Windows/bin/javac.exe" -d ../src/main/objs/
-source 1.7 -target 1.7
-classpath ../libs/android-arch-core-common-1.1.0.jar;../libs/android-arch-lifecycle-common-1.1.0.jar;../libs/annotations-4.9.0.jar;../libs/disklrucache-4.9.0.jar;../libs/support-annotations-27.1.1.jar;../libs/unity-classes.jar
-sourcepath ../src/main/java/
-bootclasspath ..\Android\sdk/platforms/android-29/android.jar ..\R.java ..\UnityPlayerActivity.java ..\Boostrap.java
-d <目录>: 指定放置生成的类文件的位置
-source <发行版>: 提供与指定发行版的源兼容性
-target <发行版>: 生成特定VM版本的类文件
-classpath <路径>: 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径>: 指定查找输入源文件的位置
-bootclasspath <路径>: 覆盖引导类文件的位置
生成 R$attr.class, R$drawable.class, R$mipmap.class, R$string.class, R$style.class, R.class, UnityPlayerActivity.class
dx.bat
call "../dx.bat" --dex --output=../src/main//pkg_raw/classes.dex ../src/main/objs/ ../libs/android-arch-core-common-1.1.0.jar ../libs/android-arch-lifecycle-common-1.1.0.jar ../libs/annotations-4.9.0.jar ../libs/disklrucache-4.9.0.jar ../libs/support-annotations-27.1.1.jar ../libs/unity-classes.jar
生成 ../src/main/pkg_raw/classes.dex
aapt.exe
call "../aapt.exe" package -f -m -F ../src/main//bin/test..unaligned.apk -M ../AndroidManifest.xml -A ../src/main/assets -S ../src/main/res -I ../android.jar ../src/main//pkg_raw
-f: 覆盖现有的文件命令,加上后编译生成直接覆盖目前已经存在的R.java
-m: 使生成的包的目录放在-J参数指定的目录
-F: specify the apk file to output
-M: AndroidManifest.xml的路径
-A: assert文件夹的路径
-S: 指定资源目录 一般是 res
-I: 指定的SDK版本中android.jar的路径
zipalign.exe
call "../zipalign.exe" -f 4 ../com.zy.thegod..unaligned.apk ../com.zy.thegod.apk
Unity 版本: 2018.4.6f1
Android Studio 版本: 3.5
gradle版本: 5.4.1
相关参考
AAPT https://www.jianshu.com/p/8d691b6bf8b4
https://www.cnblogs.com/yikemogutou/p/12723299.html
zipalign https://blog.csdn.net/djun100/article/details/12781941
https://www.jianshu.com/p/7c288a17cda8