2016-06-10 41 views
0

我有一個使用Android註釋的應用程序,除了一件事以外,一切工作都正常 - 儘管事實上它們具有不同的applicationId,但無法在同一設備上安裝兩種風格。無法在Android註釋中安裝兩種風格的應用程序

研究這個我遇到了一些問題(其他人有)註釋處理和味道,當我記得這也是一個問題,但我們已經設法添加以下代碼片段和一切工作。

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

直到有一天,我們一直沒有注意到,我們不能在一個設備上同時安裝兩種口味。我試過改變Gradle,但每次我都遇到同樣的問題或者打破了Gradle腳本。

正如我所提到的,我嘗試過所有我能想到的事情,網上搜索沒有提供任何有用的東西,所以如果有人有任何想法,我會感激。

以下是我的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 
} 


應用模塊級:

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

什麼是你getwhen試圖安裝的錯誤? – ligi

+1

@ligi'INSTALL FAILED CONFLICTING PROVIDER' – Dejanarchos

+0

然後發佈您的清單 - 或更好地閱讀:http://stackoverflow.com/questions/16267785/install-shows-error-in-console-install-failed-conflicting-provider – ligi

回答

0

好吧,謝謝@ligi指點我正確的軌道。 我們有一個類似的項目,其設置非常相似,主要區別在於其中之一使用的Android註釋,這個註釋誤導了我。

底線是我在清單中有一個提供者,我沒有意識到,並且權限衝突確實發生在那一點。

謝謝你的時間。榮譽。

相關問題