Android 如何生成不同的APK
我想使用同一个项目创建两个不同的apk(例如A.apk和B.apk),所以我更改了manifest中的“package”和build.gradle中的“applicationId”。问题是安卓手机还警告我在安装B.apk时不要挂A.apk。为什么?A.apk和B.apk有不同的包。Android 如何生成不同的APK,android,Android,我想使用同一个项目创建两个不同的apk(例如A.apk和B.apk),所以我更改了manifest中的“package”和build.gradle中的“applicationId”。问题是安卓手机还警告我在安装B.apk时不要挂A.apk。为什么?A.apk和B.apk有不同的包。 A.apk的主包名为“com.meimei.A”,B.apk的主包名为“com.quanquan.B”。我仍然无法在同一部手机中安装A.apk和B.apk。这可以通过在build.gradle中使用productFl
A.apk的主包名为“com.meimei.A”,B.apk的主包名为“com.quanquan.B”。我仍然无法在同一部手机中安装A.apk和B.apk。这可以通过在build.gradle中使用productFlavors并更改每个版本的应用程序的applicationId来实现
productFlavors {
appStaging {
applicationId "com.android.appname.staging"
}
appProduction {
applicationId "com.android.appname"
}
}
使用上述方法构建特定风格的APK,应形成可并排安装的单独APK
此外,您甚至可以通过执行以下操作来更改这些APK中所需的源:
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']
}
}
我发现了问题。问题是当前项目的提供商与旧项目的提供商拥有相同的权限。还是谢谢你 您需要重命名实际的java包以及清单中的包,您必须更改包名。因为Android总是检查包名而不是应用程序名。修改应用程序中的包结构,那么只有你才能生成不同的apk。你是说应用程序中的包结构是什么?我还将主包名从com.zfeng.a更改为com.test.b。但是他们也有相同的包com.meimei。我应该把com.meimei包换成另一个名字吗?在Android studio中,你的gradle应用程序ID会不同。我发现了这个问题。问题是当前项目的提供商与旧项目的提供商拥有相同的权限。还是谢谢你。