我想使用相同的项目来创建两个不同的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。
答案 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)
我发现了问题。问题是当前项目的提供者与旧的当前项目具有相同的权限。谢谢你们。