有没有办法将eclipse命令“android tools->rename application package”作为shell中的脚本执行?
我想用不同的选项(例如免费和付费版本)编译我的android应用程序几次,而不需要手动操作。
自动执行此操作很重要。像库这样的所有解决方案都没有帮助,因为有几件事必须手工完成。
最佳答案
是的,这是可能的。您必须手动调用aapt
工具来打包编译的项目,然后再次调用aapt
来添加类,用jarsigner
签名并与zipalign
对齐。通常,EclipseAdt插件为您执行构建步骤链。
下面是这些步骤的调用示例。
使用不同的包名称打包应用程序:
aapt package -f -M ./AndroidManifest.xml -S res/ \
-I android.jar -F renamed_project.apk.unaligned \
--rename-manifest-package "com.example.some_new_package" -v
然后添加类:
aapt add -f renamed_project.apk.unaligned classes.dex -v
签署:
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 \
-keystore "some_keystore_file" \
renamed_project.apk.unaligned "key_name"
对齐它:
zipalign -v 4 renamed_project.apk.unaligned renamed_project.apk
可以找到更多信息,例如here。
此外,使用
Ant
可以更轻松地完成这项工作。Here您可以找到更多信息。