如何生成不同的APK

时间:2015-06-19 11:31:02

标签: android

我想使用相同的项目来创建两个不同的apk(例如A.apk和B.apk)。所以我改变了"包"在清单和" applicationId"在build.gradle中。问题是当我安装B.apk时,Android手机还警告我卸载A.apk。为什么? A.apk和B.apk有不同的包装。 A.apk的主要包名是" com.meimei.a",而B.apk的主要包名是" com.quanquan.b"。我仍然无法在同一部手机中安装A.apk和B.apk。

2 个答案:

答案 0 :(得分:1)

这可以通过在build.gradle中使用productFlavor并为每种风格更改应用程序的applicationId来实现。

productFlavors {
    appStaging {
        applicationId "com.android.appname.staging"
    }
    appProduction {
        applicationId "com.android.appname"
    }
}

使用上述方法构建特定的风格应该会导致可以并排安装的单独的apks。

此外,您甚至可以通过执行以下操作来更改这些API中所需的源:

sourceSets {
    appStaging {
        manifest.srcFile 'src/main/appstaging/AndroidManifest.xml'
        java.srcDirs = ['src/main/java/ui', 'src/appstaging', 'etc']
        resources.srcDirs = ['src/main/res']
    }
    appProduction {
        manifest.srcFile 'src/main/app/AndroidManifest.xml'
        java.srcDirs = ['src/main/java/ui', 'src/app', 'etc']
        resources.srcDirs = ['src/main/res']
    }
}

答案 1 :(得分:0)

我发现了问题。问题是当前项目的提供者与旧的当前项目具有相同的权限。谢谢你们。