像许多Android开发者一样,我想要在MarketPlace上有两个程序-演示版和完整版-它们都拥有相同的代码但使用不同的资产。不幸的是,由于它们具有相同的软件包命名空间,它们无法同时加载到同一设备上。顺便说一下,这些资产位于asset文件夹中而不是res文件夹中。
我想通过命令行创建第二个apk,并从使用NetBeans/Eclipse IDE编译/构建的第一个apk派生它。
答案似乎是aapt及其--rename-package-manifest选项,但我显然不知道如何使用它。
我执行以下步骤:
1. 使用NetBeans构建我的完整apk 2. 使用apktool解压缩apk 3. 添加新的资产 4. 使用aapt重命名软件包 5. 使用apktool重新打包为演示版本
然而,我无法使第四步-aapt重命名阶段起作用。我在网络上看到了很多关于此问题的帖子,但没有明确的示例。
然后,我尝试了最简单的测试程序-遵循此处的步骤进行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
主.xml和AndroidManifest.xml中的错误格式如下:
"No resource identifier found for attribute 'layout_width'"
如果有任何想法,将不胜感激。
我想通过命令行创建第二个apk,并从使用NetBeans/Eclipse IDE编译/构建的第一个apk派生它。
答案似乎是aapt及其--rename-package-manifest选项,但我显然不知道如何使用它。
我执行以下步骤:
1. 使用NetBeans构建我的完整apk 2. 使用apktool解压缩apk 3. 添加新的资产 4. 使用aapt重命名软件包 5. 使用apktool重新打包为演示版本
然而,我无法使第四步-aapt重命名阶段起作用。我在网络上看到了很多关于此问题的帖子,但没有明确的示例。
然后,我尝试了最简单的测试程序-遵循此处的步骤进行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
主.xml和AndroidManifest.xml中的错误格式如下:
"No resource identifier found for attribute 'layout_width'"
如果有任何想法,将不胜感激。