我已经在Android Studio中创建了一个新项目。创建了两种口味:“ pro”和“ free”。添加了sharedUserId来显示。因此,这些应用可以使用彼此的内部存储。用相同密钥库的相同别名签署了两个骗子。将两个APK上传到Google Play Cosole(两个不同的项目)。项目处于私有alpha测试状态。从Google Play下载应用程序时-只能安装一个版本。例如:尝试安装“免费”时成功安装了“专业版”-出现错误:无法安装“我的免费应用程序”。请重试,如果问题仍然存在,请获取帮助进行故障排除。 (错误代码:-505)。 请注意,将两个签名的APK手动安装到设备上时-没有错误,并且它们均按预期工作。
build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.my_package.my_app20"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
debuggable true
minifyEnabled false
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
debuggable false
minifyEnabled true
shrinkResources true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
lintOptions {
disable 'MissingTranslation'
}
}
}
flavorDimensions "version"
productFlavors {
free {
dimension "version"
applicationIdSuffix ".free"
versionCode 14
versionName "2.1.4"
}
pro {
dimension "version"
applicationIdSuffix ".pro"
versionCode 14
versionName "2.1.4"
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my_package.my_app20"
android:sharedUserLabel="@string/share_label"
android:sharedUserId="com.my_package.myapp20_share_id">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>