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