2014-09-26 9 views
8

Ich versuche, eine App mit einer separaten App als Abhängigkeit zu kompilieren, aber wenn ich referenzierende Module aus dieser Bibliothek kompiliere, sehe ich mehrere "error: package does not exist" und "Fehler: kann keine Symbolklassen" -Meldungen von Graddle finden. Das Folgende sind meine zwei Build-Dateien.Paket existiert nicht, wenn separate App als Abhängigkeit verwendet

apply plugin: 'android' 

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.1.0" 

    defaultConfig { 
     minSdkVersion 11 
     targetSdkVersion 19 
    } 

    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 

    packagingOptions { 
     exclude 'AndroidManifest.xml' 
     exclude 'resources.arsc' 
     exclude 'classes.dex' 
    } 
} 

dependencies { 
    repositories { 
     mavenCentral() 
    } 
    compile 'com.android.support:support-v4:+' 
    compile 'com.google.code.gson:gson:2.2.2' 
    compile 'com.google.android.gms:play-services:+' 
    compile 'com.actionbarsherlock:actionbarsherlock:[email protected]' 
    compile 'com.android.support:support-v4:+' 
    compile 'com.readystatesoftware.systembartint:systembartint:1.0.3' 
    compile 'se.emilsjolander:stickylistheaders:2.+' 
    compile 'com.googlecode.libphonenumber:libphonenumber:+' 
    compile files('libs/crashlytics.jar') 
    compile files('libs/httpclient-4.2.3.jar') 
    compile files('libs/libphonenumber-5.9.jar') 
    compile files('libs/mobileservices-0.2.0-javadoc.jar') 
    compile files('libs/mobileservices-0.2.0.jar') 
    compile files('libs/stringtotime-1.0.4.jar') 
    compile files('libs/urbanairship-lib-2.0.2.jar') 
    compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abs:+' 
    compile files('libs/FlurryAnalytics-4.0.0.jar') 
    compile 'com.squareup.picasso:picasso:2.3.3' 
    compile project(':wheel') 
} 

Abhängigkeit gradle:

apply plugin: 'android' 

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.1.0" 

    defaultConfig { 
     applicationId "kankan.wheel" 
     minSdkVersion 5 
     targetSdkVersion 7 
    } 

    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 

} 

jemand helfen kann/diese zuvor erlebt? Android Studio hebt keine Probleme in der Klasse hervor und ich kann zu den referenzierten Paketen ctrl + klicken, was bedeutet, dass es korrekt eingerichtet ist ...

Vielen Dank!

Antwort

5

Sie können nicht zwei Gradle Skripte mit dem com.android.application Plugin zur gleichen Zeit haben. Ändern Sie das Abhängigkeitsprojekt, um das Plugin "Bibliothek" anzuwenden.

Wenn das nicht funktioniert, ändern Sie die targetSdkVersion Ihrer Abhängigkeit in die Ihres Kernprojekts.

+0

Arbeitete großartig. Danke vielmals! – User24231

+0

@Doge Sie meinen 'com.android.application'? –

+0

Ja, das ist der neue Name des Plugins. Als ich ursprünglich die Antwort schrieb, wurde das Plugin einfach 'android' genannt. – Doge

0

Versuchen Sie, min und Ziel sdk auf 11 und 19 gemäß Abhängigkeit Gradle-Standard-Konfiguration zu ändern.

0

hatte ich ein ähnliches Problem here geschrieben

Aber ich habe es mit @ Doge Vorschlag gelöst, ich die Abhängigkeit android Projekt Bibliotheksprojekt umgewandelt.

Danke.

+0

Aber dieser Fehler tritt im Bibliotheksmodul auf, nicht im App-Modul. Warum sollte es also wichtig sein, dein Android-Projekt in eine Bibliothek umzuwandeln? –

+0

Ihr Link wurde entfernt –

1

Wenn Sie ein Android-Bibliothek-Modul als Abhängigkeit (dh mylib) verwenden, dann stellen Sie sicher, in Ihrer app.iml Datei, die Sie die folgende Zeile zum Ende der Datei sehen:

<orderEntry type="module" module-name="mylib" exported="" /> 
+0

Was macht das? –

6

Des Der Abschnitt buildTypes sollte nicht in der Bibliothek build.gradle-Datei enthalten sein.

+1

Ich würde +100 dies wenn ich könnte. Vielen Dank. – Dariush

+1

Dein Vorschlag funktionierte für mich aber gibt es irgendeine Erklärung dafür? –

Verwandte Themen