姬長信(Redy)

android – Repackage APK文件,包含自定义资产…


更新:这是一个旧帖子,下面提到的破坏aapt版本的参考将是过时的.

根据之前的反馈,我将自定义文本字段存储在我的应用程序的assets目录中.

我将使用资产文件中的默认用户详细信息编写应用程序,并且客户端希望为每个用户重建应用程序,包括资产文件中该用户的详细信息.

(我知道这种方法有一些严重的缺点,但客户仍然热衷于这样做 – 见Embed login details in APK file, different for each user (or other options?))

这个问题与我重建APK文件时遇到的麻烦有关,一旦我解压缩它,并更新了自定义资产文件.我确信我错过了一些小的东西,然而,我在这些方法上找到的文档和帖子对于新手来说是没有用的.

> aapt – Android sdk工具:不幸的是,Android文档[下面的链接2]上的“使用aapt”的android文档是非常有限的.控制台命令-help显示更多信息.当尝试使用它只是将文件添加到test.apk时,它最终会删除原始文件,并创建一个新文件test.apk.zip,其中只包含我尝试添加的文件.我无法找到正确的命令行组合来获取解压缩的apk并重新打包 – 这将是我的第一奖.
> apkbuilder – Android sdk工具:首先,这个工具已被弃用,这是一个负面因素.我也无法使用它在解压缩文件夹中的工作.我想我错过了一个apkbuilder之前的步骤,因为apkbuilder请求资源zip存档,我有一个资源文件夹.
> ant – build工具:其他类似帖子说用ant构建,而不是使用android工具.我无法上班.获取Ant与Android合作的一个特定链接[下面的链接3]看起来很有希望,但看起来它是针对不同的android sdk(我的build.xml由android生成看起来与他不同).不幸的是,我对蚂蚁??知之甚少,而且很难成为足以解决我当前问题的专家.
继下面的NickT解决方案 – 运行ant脚本会给我错误
使用类加载器AntClassLoader []找不到taskdef类com.android.ant.SetupTask.
我在网上找到了一些关于这个错误的引用,已经确认local.properties有一个指向我的android sdk安装文件夹的sdk.dir设置(sdk.dir = / Applications / android-sdk-mac_86).
> ?????:可能还有其他一些我未列出/发现的选项,我有兴趣听到.

我意识到深入研究通常由我的ide所掩盖的齿轮会导致困难.但我知道很多SO用户可以做很多这样的事情,我希望我能引起其中一些人的兴趣.谢谢你的帮助.

(Mac Snow Leopard 10.6 64位上的Eclipse 3.6)

PS,我还不能发布超过1个超链接,所以我已经包含这些地址以显示更多信息给我的问题.

(1):stackoverflow.com/questions/4783160/embed-login-details-in-apk-file-different-for-each-user-or-other-options

(2):developer.android.com/guide/developing/tools/aapt.html

(3):www.disgruntledrats.com/?p = 27