2015-08-12 10 views
16

Ho un progetto di libreria chiamato Common che utilizzo per funzionalità condivisa dai miei altri progetti, Consumer e Management. Il consumatore stesso è anche un progetto di libreria che viene utilizzato da altre app.L'importazione del progetto di libreria più volte in Android Studio 1.3.1 causa la scomparsa della libreria

Il file build.gradle in comune contiene tutte le dipendenze esterne utilizzate dagli altri progetti in questo modo:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.google.code.gson:gson:2.2.2' 
    compile 'com.android.support:support-v4:22.1.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
} 

Questo download i seguenti biblioteche:

enter image description here

La lista rimane invariato quando Aggiungo Common a Consumer, Management o entrambi. Quando aggiungo al consumatore di MiaApp in questo modo:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile project(':consumer') 
} 

Questo accade:

enter image description here

La libreria di supporto scompare, scatenando il caos completo nel mio progetto. Ciò non è accaduto prima dell'aggiornamento ad Android Studio 1.3.1, quindi mi sto davvero chiedendo quale potrebbe essere il problema.

Per riferimento questi sono i file gradle.build completi:

comune

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     minSdkVersion 11 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.google.code.gson:gson:2.2.2' 
    compile 'com.android.support:support-v4:22.1.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
} 

gestione

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "eu.test.mgmt" 
     minSdkVersion 11 
     targetSdkVersion 22 
     multiDexEnabled = true 
    } 
    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/ASL2.0' 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile project(':common') 
} 

consumatori

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    lintOptions { 
     checkReleaseBuilds false 
     abortOnError false 
    } 

    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 22 
     versionCode 18 
     versionName "1.3" 
     multiDexEnabled = true 

    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/xml', 'src/main/res/xml'] } } 
} 
repositories { 
    mavenCentral() 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile project(':common') 
} 

MiaApp:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "eu.test.myapp" 
     minSdkVersion 15 
     targetSdkVersion 22 
     versionCode 19 
     versionName "1.4" 
     multiDexEnabled = true 
    } 
    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/ASL2.0' 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile project(':consumer') 
} 
+0

Solo una cosa strana che posso vedere è che si specificano repository nel 'Build.gradle' di Consumer. Forse prova a rimuovere quel blocco in quanto non sembra necessario, anche se non sono sicuro che ciò potrebbe causare il tuo problema. –

+0

due domande !! hai provato ad aggiungere: comune come dipendenza diretta? allora anche la libreria appCompat non viene mostrata? e aggiungendo: la gestione come dipendenza causa anche gli stessi problemi? – Ramesh

+1

manca solo in IDE? provare a './gradlew your_app: dipendenze' e fornire output – vigilancer

risposta

0

tenta di fare clic sull'icona della struttura del progetto e verificare i dettagli sulla struttura. A volte potrebbe essere solo importare la libreria mancante di alcuni passaggi importanti

Problemi correlati