Android Studio - Importowanie zewnętrznej biblioteki / słownika
Niedawno pobrałem Android Studio, aby tworzyć aplikacje na Androida (pochodzę z Eclipse) i mam problemy z używaniem zewnętrznych bibliotek i / lub zewnętrznych plików JAR obok mojego własnego projektu.UWAGA: następujące testy przeprowadzono na aNowy projekt aplikacji stworzony od podstaw w Android Studio.
Przykład 1: Import JAR.
Pobierz nową kopię zestawu Admobs SDK z Google.
Skopiuj słoik bibliotekiGoogleAdMobAdsSdk-6.4.1.jar
do folderu / libs /.
W eksploratorze projektu kliknij prawym przyciskiem myszy nowo dodaną bibliotekę.jar i kliknij „Dodaj jako bibliotekę”.
Technicznie w tym momenciewszystko działa poprawnie, import działa dobrze, edytor układu wyświetla podgląd plikuAdView
widget i to wszystko. Thetylko Problem polega na tym, że nie kompiluje się pomyślnie.
Zaloguj się z konsoli:
Gradle:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':APITests:compilePaidDebug'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.
Próbowałem biegaćgradlew compileDebug --stacktrace
i wydaje się, że problem polega na tym, że pomimo możliwości pomyślnego zaimportowania klas w edytorze kodu i projektu, w czasie kompilacji nie może rozwiązać importu. Oto odpowiednia część dziennika: (tutaj pełny stacktrace)
java:6: error: package com.google.ads does not exist
import com.google.ads.AdRequest;
java:7: error: package com.google.ads does not exist
import com.google.ads.AdView;
java:11: error: cannot find symbol
AdView mAdView;
symbol: class AdView
location: class MainActivity
java:22: error: cannot find symbol
mAdView = (AdView)this.findViewById(R.id.adView);
symbol: class AdView
location: class MainActivity
java:23: error: cannot find symbol
mAdView.loadAd(new AdRequest());
symbol: class AdRequest
location: class MainActivity
5 errors
:Test:compileDebug FAILED
Ale znowu, import działa dobrze w edytorze, a zależność jest tam:
Warto również zauważyć, że bez próby dodania biblioteki / pliku JAR projekty dobrze się kompilują.
Następnie próbowałem edytować plik build.gradle, dodając nową bibliotekę, taką jak ta:
dependencies {
compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')
}
Tym razem kompilacja zakończyła się pomyślnie, ale aplikacja teraz zamyka się, jak widać, nie może znaleźć konkretnej klasy z lib w pakiecie aplikacji.
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: /data/app/com.foo.test-1.apk
Jakieś pomysły?