#android #android-gradle-plugin #android-5.0-lollipop #android-6.0-marshmallow #android-productflavors
#Android #android-gradle-plugin #android-5.0-lollipop #android-6.0-marshmallow #android-productflavors
Вопрос:
Я пытаюсь установить несколько вариантов приложений для Android в Android 5.0, но устройство позволяет мне устанавливать только один вариант. Я получаю эту проблему в версиях Android 5.0 и более поздних.
приложение / build.gradle :
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.3'
useLibrary 'org.apache.http.legacy'
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
}
defaultConfig {
applicationId "com.app.iqvis.nvolv"
minSdkVersion 16
targetSdkVersion 23
versionCode 2
versionName "2.1"
multiDexEnabled true
renderscriptTargetApi 19
renderscriptSupportModeEnabled true
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
productFlavors {
NVOLV {
applicationId "com.app.iqvis.nvolv"
copy {
from 'src/main/'
include '*.json'
into '.'
}
versionCode 55
versionName "2.0.7"
}
ISNA {
applicationId "com.app.iqvis.isna"
// manifest.srcFile "isna/AndroidMenifest.xml"
}
ARNOVA {
applicationId "com.app.iqvis.arnova"
}
PERISCOPE {
applicationId "com.app.iqvis.periscope"
}
SAN {
applicationId "com.app.iqvis.sanjosejazz"
}
OHIO {
applicationId 'com.app.iqvis.ohioaeyc'
copy {
from 'src/OHIO/'
include '*.json'
into '.'
}
versionCode 32
versionName '1.992'
}
BeckersHealthCare {
applicationId 'com.app.iqvis.beckershealthcare'
copy {
from 'src/BeckersHealthCare/'
include '*.json'
into '.'
}
versionCode 33
versionName '1.92'
}
NPCenter {
applicationId 'com.app.iqvis.npcenter'
copy {
from 'src/NPCenter/'
include '*.json'
into '.'
}
versionCode 32
versionName '1.7'
}
NVOLVDev {
applicationId "com.app.iqvis.nvolvdev"
copy {
from 'src/NVOLVDev/'
include '*.json'
into '.'
}
versionCode 20
versionName "2.40"
}
NVOLVDev2 {
applicationId "com.app.iqvis.nvolvdev2"
copy {
from 'src/NVOLVDev2/'
include '*.json'
into '.'
}
versionCode 1
versionName "2.0.1"
}
WSCPA {
applicationId "com.app.iqvis.wscpa"
copy {
from 'src/WSCPA/'
include '*.json'
into '.'
}
versionCode 32
versionName "1.2"
}
UMAA {
applicationId "com.app.iqvis.umaa"
copy {
from 'src/UMAA/'
include '*.json'
into '.'
}
versionCode 32
versionName "1.1"
}
SFDW {
applicationId "com.app.iqvis.sfdw"
copy {
from 'src/SFDW/'
include '*.json'
into '.'
}
versionCode 3
versionName "1.96"
}
CALCPA {
applicationId 'com.app.iqvis.calcpa'
copy {
from 'src/CALCPA/'
include '*.json'
into '.'
}
versionCode 6
versionName '2.0.4'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix ".debug"
}
/**
* The 'initWith' property allows you to copy configurations from other build types,
* so you don't have to configure one from the beginning. You can then configure
* just the settings you want to change. The following line initializes
* 'jnidebug' using the debug build type, and changes only the
* applicationIdSuffix and versionNameSuffix settings.
*/
jnidebug {
// This copies the debuggable attribute and debug signing configurations.
initWith debug
applicationIdSuffix ".jnidebug"
jniDebuggable true
}
}
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
repositories {
maven { url 'http://repo1.maven.org/maven2' }
mavenCentral()
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile files('libs/zbar.jar')
compile files('libs/android-volley-master-1.0.15.jar')
compile files('libs/Branch-1.10.8.jar')
// compile files('libs/ormlite-core-4.41.jar')
compile files('libs/sugar-1.3.jar')
compile files('libs/google-api-client-1.17.0-rc.jar')
// compile files('libs/sinch-android-rtc-3.6.1.jar')
compile files('libs/google-api-services-urlshortener-v1-rev22-1.17.0-rc.jar')
compile files('libs/crittercism_v5_3_3_sdkonly.jar')
// compile files('libs/httpmime-4.1.3.jar')
compile files('libs/google-http-client-1.17.0-rc.jar')
// compile files('libs/ormlite-android-4.41.jar')
compile files('libs/nvolvlib.jar')
compile files('libs/myjson-2.3.1.jar')
compile files('libs/google-http-client-android-1.17.0-rc.jar')
compile files('libs/iqvisanalytics.jar')
compile files('libs/stickygridheaders.jar')
compile files('libs/google-api-client-android-1.17.0-rc.jar')
// compile files('libs/commSinch.jar')
compile project(':resideMenu')
compile project(':library')
compile project(':extensiblepageindicator')
compile project(':ahbottomnavigation')
compile project(':commSinch')
compile project(':fab')
compile files('libs/gentlyWEB-utils-1.1.jar')
compile files('libs/JoSQL-2.2.jar')
compile 'joda-time:joda-time:2.7'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'me.leolin:ShortcutBadger:1.1.3@aar'
compile 'com.parse.bolts:bolts-android:1. '
compile 'com.parse:parse-android:1.13.1'
compile 'com.github.traex.rippleeffect:library:1.3'
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:design:23.0.0'
compile 'com.google.android.gms:play-services-identity:8.4.0'
compile 'com.android.support:recyclerview-v7:23.2.1'
compile 'com.android.support:cardview-v7:23.1.1'
// compile 'com.android.support:recyclerview-v7:23.0.0'
// compile 'com.android.support:cardview-v7:23.0.0'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.roughike:bottom-bar:1.2.1'
compile 'com.google.guava:guava:19.0'
compile 'com.ms-square:expandableTextView:0.1.4'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'io.reactivex:rxandroid:1.1.0'
compile 'io.reactivex:rxjava:1.1.0'
}
Любая помощь была бы высоко оценена. Заранее спасибо.
Комментарии:
1. Вы выбираете варианты из вариантов сборки?
2. да, я выбираю вкусы из вариантов сборки.
3. Это выдает какую-то ошибку? Или ваше предыдущее приложение просто заменяется последним даже после изменения версии?
4. опубликуйте журналы сборки.
5. @GradleDroid Я получаю эту ошибку при попытке установить версию выпуска. Он говорит, что приложение не установлено
Ответ №1:
Попробуйте следующие решения
- Проверьте, нет ли поставщиков контента в manifest.xml .
например:
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider1234567890"
android:exported="true" />
если существует, вы можете попробовать следующий шаг.
-
Используйте разные имена пакетов для каждого варианта и разных поставщиков контента в файле app build.gradle.
productFlavors { flavor1 { minSdkVersion 17 applicationId 'com.app.flavor1' signingConfig signingConfigs.config1 targetSdkVersion 25 versionCode 8 versionName '1.4' versionNameSuffix 'flavor1' manifestPlaceholders = [ api_key_crashlytics:"xxxxxxxxxxxxx", fb_provider:"com.facebook.app.FacebookContentProvider1234567890"] } flavor2 { minSdkVersion 17 applicationId 'com.app.flavor2' signingConfig signingConfigs.config2 targetSdkVersion 25 versionCode 8 versionName '1.4' versionNameSuffix 'flavor2' manifestPlaceholders =[api_key_crashlytics:"xxxxxxxxxxxxxy", fb_provider:"com.facebook.app.FacebookContentProvider1234567891"] }}
и в манифесте вы можете указать значения, подобные приведенным ниже.
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="${fb_provider}"
android:exported="true" />
Ответ №2:
Сначала прокомментируйте строку
Идентификатор приложения «com.app.iqvis.nvolv»
в приложении / build.gradle в
defaultConfig {}
Затем замените «com.app.iqvis» на $ {applicationId} в главном Manifest.xml
Комментарии:
1. не могли бы вы подробнее рассказать