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

 

posted on 2020-07-26 12:23  void87  阅读(186)  评论(0编辑  收藏  举报

导航