与许多Android开发人员一样,我希望为MarketPlace提供两个程序 - 演示版和完整版 - 它们都具有相同的代码但使用不同的资产。不幸的是,因为它们具有相同的包命名空间,所以它们不能同时加载到同一设备上。顺便说一句,资产位于资产文件夹中,而不在res文件夹中。
我想通过命令行创建第二个 apk ,并从使用NetBeans / Eclipse IDE编译/构建的第一个 apk 派生。
答案似乎是 aapt 及其--rename-package-manifest
选项,但我显然不明白如何使用它。
我执行以下步骤:
使用NetBeans构建我的完整apk
用 apktool
添加新资源
使用 aapt
使用 apktool 重新打包到演示版。
但是,我无法完成第4步 - aapt 重命名阶段。我在网上看到了很多线程,但没有明确的例子。
然后我尝试了最简单的程序来测试它 - 使用以下步骤here的Hello World。
使用命令行选项可以正常运行Hello World,它可以在模拟器和设备上构建和运行。
但是,当我使用 aapt --rename-manifest-package
命令时,会出现很多错误。
我使用的命令是:
aapt package -f -v -M c:\android-sdk-windows\tools\hellow\AndroidManifest.xml -S c:\android-sdk-windows\tools\hellow\res —rename-package-manifest com.myname.demo
main.xml
和AndroidManifest.xml
中的错误均为以下形式:
“找不到属性'layout_width'的资源标识符”
任何想法都会非常受欢迎。