这是我的情况
productFlavors { paid { applicationId "com.paid.app" } free { applicationId "com.free.app" } }
并且在付费的味道中,我需要与主要或免费的不同的发射器活动,如下所示
main/AndroidManifest.xml <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> paid/AndroidManifest.xml <activity android:name=".SecondMainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
当我开始在付费构建版本中安装应用程序时,它总是安装两个应用程序,即免费和付费但具有相同的应用程序名称.当我卸载任何一个时,应用程序都会被卸载.是不是应该付费变体构建付费应用程序和免费变体构建一个免费的应用程序?以下是我的工作环境
dependencies { classpath 'com.android.tools.build:gradle:1.3.0' } Android Studio 1.4 beta 2
解决方法
您没有安装2个应用程序.
使用Manifest中的付费风格,您将合并2个活动与LAUNCHER类别.
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
通过这种方式,您将有2个图标来启动您的应用.一个用于MainActivity,一个用于SecondActivity.
如果您想为每种风味添加不同的活动,则必须在每种风味中使用相同的活动.
app/src/free/java/..../MainActivity app/src/paid/java/..../MainActivity