4

我有一个需要创建多个 apk 的 android 项目。每个 apk 之间的唯一区别是包名称(例如 com.my.package.name)和应用程序字符串名称,因此我可以在一台设备上安装应用程序的多个实例。有没有更好的方法来做到这一点?我考虑过创建一个库项目,但我认为可能有更简单的方法来做到这一点。

4

7 回答 7

2

您可以将主代码放入库中并构建多个生成多个 APK 的同级项目:

我对此进行了测试,比我最初想象 的要容易得多: https ://stackoverflow.com/a/9971543/305135

于 2013-10-07T08:50:25.073 回答
1

图书馆项目是这样做的正确方法。您创建并处理库项目,并且每个版本都有一个项目,这取决于库项目。请记住,您需要为每个项目提供正确的 Android 清单。

于 2012-11-02T20:02:16.330 回答
1

您可以试用新的 Android 构建系统。这里有一些链接

您可以自定义以下属性:

  • minSdkVersion
  • 目标SDK版本
  • 版本代码
  • 版本名称
  • 包名(覆盖清单中的值)
  • ETC..
于 2012-11-02T22:25:43.230 回答
1

您可以在应用级别的 gradle 中使用 productFlavors。

 flavorDimensions "tier"
    productFlavors {

        dev
                {
                    dimension "tier"
                    buildConfigField "String", "URL", "\"http://glapp/demo.php\""
                    buildConfigField "boolean", "ENABLE_DEBUG", "false"
                    versionName = android.defaultConfig.versionName + " dev"
                    applicationId = "com.abc.glnewapp.dev"
                    resValue "string", "app_name", "GL Demo"
                }
        prod
                {
                    dimension "tier"
                    buildConfigField "String", "URL", "\"http://glapp/live.php\""
                    buildConfigField "boolean", "ENABLE_DEBUG", "false"
                    applicationId = "com.abc.glnewapp.prod"
                    resValue "string", "app_name", "GL Live"
                }

    } 

然后选择构建变体以根据变体构建 apk 您可以根据需要放置许多面粉(不同的 apk)。

在此处输入图像描述

您可以通过在 src 目录下的 falour name 文件夹中添加相同的 res 结构来更改应用程序图标和其他可绘制对象。此外,如果您发现任何与 google json 相关的问题,那么只需将 google json 文件复制到 src->productflavor

欲了解更多信息,请访问

于 2018-02-14T09:34:43.987 回答
0

您不能以编程方式更改包名称。因此,唯一的解决方案是手动更改它并创建apk

于 2012-11-02T19:44:14.740 回答
0

要更改包名称,您可以执行以下操作:

您需要复制该项目。右键单击一个,选择“Android工具->重命名应用程序包”

希望这有帮助。

于 2012-11-02T20:15:27.050 回答
0

我实际上使用apktool来反编译 apk,然后使用一些 Perl 脚本编辑 smali 文件以更改包名称。

于 2013-01-08T22:26:53.423 回答