我想一个安卓构建系统的过程,命令行或Eclipse,以生成几个.apk文件从一个单一的源代码库。一些常见的原因--有针对不同需求的特定版本,或者是免费和付费的版本。
这个问题不是关于:
Google says“你可能需要为你打算发布的每个APK创建单独的Android项目,这样你就可以单独适当地开发它们。你可以简单地复制现有的项目并给它起一个新的名字。”然后他们友好地建议使用库,这是我理解的。然后,他们提到了我真正想要的东西:“一个可以根据构建配置输出不同资源的构建系统”。
发布于 2011-10-06 00:24:42
我从一个单独的源码树生成了两个不同的APK(演示和生产),只做了3个小的修改:
1)我的Application
类中有public static final DEMO=true; //false;
,根据这个值我用来在演示/生产特性之间切换代码
2)主要有2个活动,如:
package mypackage;
public class MyProduction extends Activity
{
//blah-blah
}
package mypackage.demo;
public class MyDemoActivity extends mypackage.MyProductionActivity
{
//blah-blah
}
3)最后是两个单独的AndroidManifest.xml
文件,这些文件根据演示/生产开关指向不同的启动器活动
我正在手动切换2个APK,但在编写自动在它们之间切换的小蚂蚁任务中看不到任何困难
发布于 2011-10-03 21:48:04
要做到这一点,一种方法是维护两个单独的AndroidManifest.xml,每个配置一个。您可以在这两者之间来回切换,手动(复制)或自动(构建脚本)。
编辑这个人在这里有一个系统来做这种事情:http://blog.elsdoerfer.name/2010/04/29/android-build-multiple-versions-of-a-project/
发布于 2014-04-22 00:02:44
此的answer会呼叫 Gradle
,如此website中所述。它已被正式内置到Android Studio中,并受到鼓励。
这太神奇了;我用相同的源代码构建了3个独立的应用程序,使用自定义的文本和图形,没有任何特殊的编码。只需要一些目录和Gradle
设置,我的其他帖子可以找到这两个问题的答案。
它似乎很好地解释了所有的基础知识。有关您的特定问题的答案,请在Build Variants
下查找Product Flavors
部分,其中描述了指定不同的风格。
正如该网站解释的那样,这种设计背后的部分目的是让它更具动态性,更容易使用基本上相同的代码创建多个APK,这听起来与您正在做的事情一模一样。
我可能没有把它解释得最好,但这个网站做得很好。
https://stackoverflow.com/questions/7507784
复制相似问题