Разные версии не устанавливаются на одно и то же устройство Android

#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:

Попробуйте следующие решения

  1. Проверьте, нет ли поставщиков контента в manifest.xml .

например:

 <provider
            android:name="com.facebook.FacebookContentProvider"
            android:authorities="com.facebook.app.FacebookContentProvider1234567890"
            android:exported="true" />
  

если существует, вы можете попробовать следующий шаг.

  1. Используйте разные имена пакетов для каждого варианта и разных поставщиков контента в файле 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. не могли бы вы подробнее рассказать