2016-06-10 6 views
0

У меня есть приложение с аннотациями Android, и все работает отлично, за исключением одного - вы не можете установить оба варианта на одном устройстве, несмотря на то, что у них есть другое приложение.не может установить два варианта приложения с Android Аннотации

Исследование этого я столкнулся с некоторыми проблемами (с другими людьми) с обработкой аннотаций и ароматами, и, как я помню, это была проблема и здесь, но нам удалось добавить следующий фрагмент, и все сработало.

apt { 
    arguments { 
     androidManifestFile variant.outputs[0]?.processResources?.manifestFile 
     resourcePackageName android.defaultConfig.applicationId 
    } 
} 

До другой день мы в не заметил, что мы не смогли установить два аромата сразу на одном устройстве. Я попытался изменить град, но каждый раз, когда я заканчивал тем же вопросом или нарушал сценарий градиента.

Как я уже упоминал, я пробовал все, что мог придумать, и онлайновый поиск не помог никому полезному, поэтому, если кто-нибудь есть, я буду этому признателен.

Ниже приведены мои сценарии build.gradle.


Верхний уровень:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.1.2' 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
     classpath 'com.google.gms:google-services:2.0.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     mavenCentral() 
     mavenLocal() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 


App уровень модуля:

apply plugin: 'com.android.application' 
apply plugin: 'com.google.gms.google-services' 
apply plugin: 'android-apt' 

android { 
    signingConfigs { 
     config { 
      keyAlias 'release' 
      keyPassword 'keyPassword' 
      storeFile file('../storeFile.jks') 
      storePassword 'storePassword' 
     } 
    } 
    compileSdkVersion 23 
    buildToolsVersion '23.0.2' 

    defaultConfig { 
     applicationId "some.awsome.app" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     signingConfig signingConfigs.config 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    testOptions { 
     unitTests.returnDefaultValues = true 
    } 
    productFlavors { 
     COGNICARE_personal { 
      applicationId "some.awsome.app.free" 
     } 
     COGNICARE_full { 
     } 
    } 

    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/NOTICE' 
    } 
} 
repositories { 
    flatDir { 
     dirs 'libs' 
    } 
    maven { url "https://jitpack.io" } 
    mavenCentral() 
} 

def android_annotations_version = '3.3.2' 
def google_libs_version = '23.3.0' 
//some lib versions omitted 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    //some aar lib omitted 
    testCompile 'junit:junit:4.12' 
    compile "com.android.support:appcompat-v7:$google_libs_version" 
    apt "org.androidannotations:androidannotations:$android_annotations_version" 
    compile "org.androidannotations:androidannotations-api:$android_annotations_version" 
    //some libs omitted 

    compile 'com.android.support:multidex:1.0.0' 
    //some libs omitted 
} 

apt { 
    arguments { 
     androidManifestFile variant.outputs[0]?.processResources?.manifestFile 
     resourcePackageName android.defaultConfig.applicationId 
    } 
} 


Заранее спасибо за любые предложения. Престижность!

+0

Какая ошибка вы пытаетесь установить? – ligi

+1

@ligi 'УСТАНОВИТЬ НЕИСПРАВНОСТЬ КОНФЛИКТИВНЫЙ ПРОВАЙДЕР – Dejanarchos

+0

, а затем опубликовать манифест или лучше прочитать: http://stackoverflow.com/questions/16267785/install-shows-error-in-console-install-failed-conflicting-provider – ligi

ответ

0

ОК, поэтому благодаря @ligi, указывая мне на правильный трек. У нас есть аналогичный проект с очень похожими настройками, и основное отличие - это аннотация Android, используемая в одном из них, что меня вводит в заблуждение.

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

Спасибо за ваше время. Престижность.