#资源打包
#android.jar的路径
androidJar="/Users/Dexlin/Library/Android/sdk/platforms/android-29/android.jar"
#sdklibJar路径
sdklibJar="/Applications/dev-tool/adt-bundle-mac-x86_64-20140702/sdk/tools/lib/sdklib.jar"
#zipalign路径
zipalignUri="/Users/DexLin/Library/Android/sdk/build-tools/19.1.0/zipalign"
#aapt资源打包 $1:AndroidManifest $2:res $3:assets $4:androidJar
aaptResource(){
aapt package -f -M $1 -S $2 -A $3 -I $4 -F resources.ap_
}
aaptResource ./$gameApk/AndroidManifest.xml ./$gameApk/res ./$gameApk/assets $androidJar
执行此命令,最后生成resources.ap_文件。
#生成未签名apk
java -cp $sdklibJar com.android.sdklib.build.ApkBuilderMain $apkUnsignName -v -u -z resources.ap_ -f classes.dex -rf unknown -nf lib
执行此命令,最后生成一个未签名的apk。但发现签名以后,apktool.yml的sdkInfo为null,安装时,系统会提示版本更新
解决此问题,只能在AndroidManifest中配置
<uses-sdk
android:targetSdkVersion="26"
android:minSdkVersion="15" />