首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >来自单个源代码的多个安卓应用程序包.apk文件

来自单个源代码的多个安卓应用程序包.apk文件
EN

Stack Overflow用户
提问于 2011-09-22 07:06:43
回答 10查看 20K关注 0票数 49

我想一个安卓构建系统的过程,命令行或Eclipse,以生成几个.apk文件从一个单一的源代码库。一些常见的原因--有针对不同需求的特定版本,或者是免费和付费的版本。

这个问题不是关于:

signed release .apk相比,

Google says“你可能需要为你打算发布的每个APK创建单独的Android项目,这样你就可以单独适当地开发它们。你可以简单地复制现有的项目并给它起一个新的名字。”然后他们友好地建议使用库,这是我理解的。然后,他们提到了我真正想要的东西:“一个可以根据构建配置输出不同资源的构建系统”。

  • 我知道要在Java语言中完成条件编译,可以使用'public static final‘变量作为关键字。在build.xml中有这样一个值的example of tweaking。现在,有没有更完整的Android Ant构建配置的例子,或者OSS项目的链接?顺便说一句,build.xml是自动生成的,但我见过有人破解它,那么它是如何工作的呢?
  • 在Manifest.xml中声明的包名为package="com.example.appname",如果需要发出多个不同名称的.apks,是不是每个都有一个单独的项目?
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2011-10-06 00:24:42

我从一个单独的源码树生成了两个不同的APK(演示和生产),只做了3个小的修改:

1)我的Application类中有public static final DEMO=true; //false;,根据这个值我用来在演示/生产特性之间切换代码

2)主要有2个活动,如:

代码语言:javascript
复制
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,但在编写自动在它们之间切换的小蚂蚁任务中看不到任何困难

票数 12
EN

Stack Overflow用户

发布于 2011-10-03 21:48:04

要做到这一点,一种方法是维护两个单独的AndroidManifest.xml,每个配置一个。您可以在这两者之间来回切换,手动(复制)或自动(构建脚本)。

编辑这个人在这里有一个系统来做这种事情:http://blog.elsdoerfer.name/2010/04/29/android-build-multiple-versions-of-a-project/

票数 11
EN

Stack Overflow用户

发布于 2014-04-22 00:02:44

的answer会呼叫 Gradle,如此website中所述。它已被正式内置到Android Studio中,并受到鼓励。

这太神奇了;我用相同的源代码构建了3个独立的应用程序,使用自定义的文本和图形,没有任何特殊的编码。只需要一些目录和Gradle设置,我的其他帖子可以找到这两个问题的答案。

它似乎很好地解释了所有的基础知识。有关您的特定问题的答案,请在Build Variants下查找Product Flavors部分,其中描述了指定不同的风格。

正如该网站解释的那样,这种设计背后的部分目的是让它更具动态性,更容易使用基本上相同的代码创建多个APK,这听起来与您正在做的事情一模一样。

我可能没有把它解释得最好,但这个网站做得很好。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7507784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档