4

像许多 Android 开发人员一样,我希望为 MarketPlace 提供两个程序——一个演示版和一个完整版——它们都有相同的代码,但使用不同的资产。不幸的是,由于它们具有相同的包命名空间,因此它们不能同时加载到同一设备上。顺便说一句,资产在资产文件夹中,而不是在 res 文件夹中。

我想通过命令行制作第二个apk ,并从使用 NetBeans/Eclipse IDE 编译/构建的第一个apk派生它。

答案似乎是aapt及其--rename-package-manifest选项,但我显然不明白如何使用它。

我执行以下步骤:

  1. 使用 NetBeans 构建我的完整 apk

  2. 使用apktool解压 apk

  3. 添加新资产

  4. 使用aapt重命名包

  5. 使用apktool重新打包到演示版本。

但是,我无法让第 4 步 - aapt rename 阶段工作。我在网上看到了很多关于这个的主题,但没有明确的例子。

然后我尝试了最简单的程序来测试它 - 一个 Hello World 使用下面的步骤

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.demo

错误在 themain.xmlAndroidManifest.xmlare 的形式中:

“找不到属性‘layout_width’的资源标识符”

任何想法都会受到欢迎。

4

1 回答 1

2

使用 Android 库项目,因为这是根据您的场景设计的。以下是使用带有 Eclipse带有 Eclipse 的 Android 库项目的说明。

于 2011-01-17T13:38:17.167 回答