我想创建一个带有两种版本的单一项目:免费版和专业版。
我的应用程序已经在PlayStore中以不同的包名存在(例如:com.example.appfree和com.example.app)
这是我的build.gradle文件:
defaultConfig {
applicationId "com.example.appfree"
}
productFlavors{
lite {
applicationIdSuffix 'lite'
}
pro {
}
}
这是我的清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".SplashScreenActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"/>
</application>
</manifest>
我尝试上传免费版和专业版的构建apk包。专业版可以,但是Google不接受免费版,因为包名不正确。我该如何解决这个问题?
====== 已解决: ====== applicationIdSuffix只适用于buildTypes。
applicationIdSuffix
也可以用在flavor上。使用applicationId
来明确指定你想要在flavor中使用的应用ID。请注意,这并不改变原意。 - CommonsWare