我想要一个 Android 构建系统程序、命令行或 Eclipse,从单个源代码库生成多个 .apk 文件。造成这种情况的一些常见原因 - 针对具有不同要求的市场提供特定版本或免费和付费版本。
这个问题是NOT ABOUT:
将共享代码打包成Android 库 http://developer.android.com/guide/developing/projects/projects-eclipse.html#SettingUpLibraryProject或放入外部 Java jar 中
生成调试 vs. 生成调试签名发布.apk http://developer.android.com/guide/publishing/app-signing.html
Google says http://developer.android.com/guide/market/publishing/multiple-apks.html#CreatingApks“您可能需要为您打算发布的每个 APK 创建单独的 Android 项目,以便您可以分别适当地开发它们。您只需复制现有项目并为其指定一个新名称即可做到这一点。”然后他们善意地建议使用图书馆,我明白。然后,他们顺便提到了我真正想要的:“一个可以根据构建配置输出不同资源的构建系统”
我知道要完成条件编译JAVA人们可以关闭“公共静态最终”变量。有一个调整的例子 http://groups.google.com/group/android-developers/browse_thread/thread/f2c8b35edf131f76build.xml 中有这样的值。有没有更完整的 Android Ant 构建配置示例或现在执行此操作的 OSS 项目的链接?顺便说一句,build.xml 是自动生成的,但我见过有人破解它,那么它是如何工作的呢?
在 Manifest.xml 中将包名称声明为 package="com.example.appname" 时,如果需要发出多个改变该名称的 .apk,是否需要为每个应用创建一个单独的项目?
我从一个源树生成 2 个不同的 APK(演示版和生产版),并进行 3 个小修改:
1)我有public static final DEMO=true; //false;
in my Application
类并根据该值我用来在演示/生产功能之间切换代码
2)有2个主要活动,例如:
package mypackage;
public class MyProduction extends Activity
{
//blah-blah
}
package mypackage.demo;
public class MyDemoActivity extends mypackage.MyProductionActivity
{
//blah-blah
}
3)最后2分开AndroidManifest.xml
根据演示/生产切换指向不同启动器活动的文件
我手动在 2 个 APK 之间切换,但编写小 ANT 任务在它们之间自动切换并不困难
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)