Android отклоняет две различные действия запуска для двух разных продуктов

Это мой случай

productFlavors { paid { applicationId "com.paid.app" } free { applicationId "com.free.app" } } 

И в paid ароматах мне нужна другая деятельность по запуску по сравнению с main или free как показано ниже

 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> 

И когда я начинаю устанавливать приложение в paid варианты сборки, он всегда устанавливает два приложения, то есть бесплатные и оплачиваемые, но с тем же именем приложения. И когда я удалю их, оба приложения будут удалены. Должен ли не только paid вариант строить платные приложения и free вариант построить бесплатное приложение? Ниже приводится моя рабочая среда

  dependencies { classpath 'com.android.tools.build:gradle:1.3.0' } Android Studio 1.4 beta 2 

Вы не устанавливаете 2 приложения.

Используя платный вкус в вашем манифесте, вы объедините 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 

На самом деле вы можете это сделать, имея 2 файла манифеста и не дублируя действия:

главная / 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> 

платный / AndroidManifest.xml:

  <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.yourpackage"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter tools:node="remove"> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <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> </manifest> 

Это означает, что при манифесте слияния для платного аромата вы удаляете фильтр намерений, который определяет активность запуска с основного и добавляет его в SecondMainActivity.

Intereting Posts
Несколько RecyclerView в одном фрагменте Как создать диалог оповещений с многострочным заголовком? PendingIntents поддерживают кеширование одного и того же объекта TrafficStats Api android и расчет ежедневного использования данных Изменить ориентацию экрана – Android 3.2 на VirtualBox Ошибка обновления iventory (запрос цен на предметы). (Ответ: 6: ошибка) Передавать событие движения родительскому прокручиванию, когда Listview сверху / снизу Упаковка "скрытых" файлов активов Android Sqlite – ошибка «Нет такой таблицы» Android – Сохранить изображение с URL на SD-карту Как обратные вызовы SurfaceHolder связаны с жизненным циклом деятельности? Android WebView выбрасывает «запросы на кросс-поиск, поддерживаемые только для исключения http» при попытке загрузить ресурс с диска Скрыть MenuItem в некоторых фрагментах Как изменить цвет изображения растрового изображения в андроиде? Лучший способ отключить подкачку ViewPager