我正在开发 Android 应用程序,我想为市场上的不同语言发布几个不同的 apk(每种语言都包含大量文件,我想避免创建一个包含所有语言包的巨大 apk)。
所以我需要为每种语言自定义一些 list 文件:例如应用程序包和可能的应用程序版本等。我知道如何为 list 制作模板,以便我可以在文件的某些点手动插入我的值(参见 this post )。问题是我使用 ant 来准备我的生产 apk,但除此之外我使用 Eclipse 进行开发,所以我也需要我的项目在 IDE 中工作。据我所知,Eclipse 需要完整的 Manifest 文件,并且不会理解我将用于 ant 构建的模板(请有人证明我错了)。
我的问题是我想避免维护两个大部分相同的 list 文件(一个模板化的和一个完整的用于 Eclipse)。目前我能想到两种可能的方法,但我不知道如何实现它们:
- 在 list 文件中使用某种定义注入(inject):如果我能够在 AndroidManifest 文件的主体中注入(inject)某些 xml 文件,我可以将相同的部分保留在一个 xml 部分中并仅自定义不同点
- 如果可以将 Eclipse 配置为使用一些 ant 任务序列来构建 Android 项目而不是预构建例程,我可能能够集成我在 IDE 中构建生产 apk 的方式。
请如果有人知道如何完成上述两个中的任何一个,或者有任何其他想法如何解决我的问题:帮助!
最佳答案
看看 Ant 替换任务:
<replace file="${build.out}/src/config.prop" token="@@@" value="${build.version}-${build.type}"/>
但是您应该再次注意它们是唯一的值。
您还可以用 echoxml 生成的 list 替换您的 Eclipse list 。任务。
或者您可以重复使用这个漂亮的 task关于 xml 操作。
关于android - 自定义部分 Android Manifest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12173860/