像许多
Android开发人员一样,我希望有两个MarketPlace程序 – 一个演示版和一个完整版 – 它们都有相同的代码,但使用不同的资产.不幸的是,因为它们具有相同的包命名空间,所以它们不能同时加载到同一设备上.顺便说一句,资产位于资产文件夹中,而不在res文件夹中.
我想通过命令行创建第二个apk,并从使用NetBeans / Eclipse IDE编译/构建的第一个apk派生它.
答案似乎是aapt和它的–rename-package-manifest选项,但我显然不明白如何使用它.
我执行以下步骤:
>使用NetBeans构建我的完整apk
>用apktool解压缩apk
>添加新资产
>用aapt重命名包
>使用apktool重新打包到演示版.
但是,我无法获得第4步 – aapt rename阶段的工作.我在网上看到了很多这样的线程,但没有明确的例子.
然后我尝试了最简单的程序来测试它 – 使用步骤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中的错误都是以下形式:
“No resource identifier found for attribute ‘layout_width’”
任何想法都会非常受欢迎.
最佳答案 使用Android库项目,因为这是为您的场景设计的.以下是使用Android库项目
with Eclipse或
without Eclipse的说明.