Android Studio-Importowanie zewnętrznej biblioteki / Jar

Ostatnio pobrałem Android Studio do tworzenia aplikacji na Androida( pochodzę z Eclipse) i mam problemy z używaniem zewnętrznych bibliotek i / lub zewnętrznych plików JAR wraz z moim własnym projektem. Uwaga: następujące testy zostały przeprowadzone na nowym projekcie stworzonym od podstaw w Android Studio.

Przykład 1: Import JAR.

  1. Pobierz nową kopię Admobs SDK z Google.

  2. Copy the library jar GoogleAdMobAdsSdk-6.4.1.jar do folderu /libs / projektu.

  3. W Eksploratorze projektu kliknij prawym przyciskiem myszy nowo dodaną bibliotekę.jar i kliknij "Dodaj jako bibliotekę".

Technicznie w tym momencieWszystko działa , IMPORT działa dobrze, edytor układu pokazuje podgląd widżetu AdView i tak dalej. Jedynym problemem jest to, że nie kompiluje się pomyślnie.

Log 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 uruchomić gradlew compileDebug --stacktrace i problem wydaje się być taki, że pomimo możliwości zaimportowania klas z powodzeniem zarówno w edytorze kodu, jak i projektu, w czasie kompilacji nie może rozwiązać importu. Poniżej znajduje się odpowiednia część dziennika: (pełna stacktrace tutaj )

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:

Tutaj wpisz opis obrazka

Warto również zauważyć, że bez próby dodania biblioteki/JAR, projekty kompilują się dobrze.

Potem próbowałem edytować kompilację.gradle file to Dołącz nowy lib w ten sposób:

dependencies {
compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')
}

Tym razem udało się skompilować, ale aplikacja wymusza teraz zamknięcie, ponieważ najwyraźniej nie może znaleźć określonej 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?
Author: Bugs, 2013-05-28

12 answers

Więc,

Kroki, które należy wykonać, aby zaimportować JAR z powodzeniem do projektu za pomocą Android Studio 0.1.1:

  • Pobierz bibliotekę.plik jar i skopiuj go do folderu/ libs / wewnątrz projektu aplikacji.
  • otwórz build.gradle plik i edytuj swoje zależności, aby dołączyć nowy .plik jar:

compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')

  • File - > Close Project
  • otwórz wiersz polecenia na głównej lokalizacji projektu, tj. 'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
  • na polecenie prompt, type gradlew clean, wait till it ' s done.
  • Otwórz ponownie projekt aplikacji w Android Studio.
  • Przetestuj uruchom aplikację i powinna działać pomyślnie.
 99
Author: daniel_c05,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-29 16:09:36

Nie musisz zamykać projektu i przejść do wiersza poleceń, aby wywołać grade: clean. Przejdź do Build - > Rebuild Project

 31
Author: Tej,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-11 04:16:06

Easy way and it works for me. Korzystanie Z Android Studio 0.8.2.

  1. Przeciągnij plik jar pod libs.
  2. Naciśnij przycisk "Synchronizuj Projekt z plikami Gradle".

Tutaj wpisz opis obrazka

 16
Author: aknay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-23 13:57:35

"proste rozwiązanie jest tutaj"

1 .Utwórz folder o nazwie libs pod katalogiem aplikacji, co oznacza, że każdy katalog w projekcie..

2 . skopiuj wklej swoją bibliotekę do folderu libs

3.You simply copy the JAR to your libs/ directory and then from inside Android Studio, right click the Jar that shows up under libs/ > Add As Library..

Pokój!
 11
Author: Odaym,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-12 06:24:57

Oto Jak to się dzieje specjalnie dla pliku AdMob sdk jar :

  1. przeciągnij plik jar do folderu libs.
  2. kliknij prawym przyciskiem myszy plik jar i wybierz Dodaj bibliotekę teraz plik jar jest biblioteką pozwalającą dodać go do ścieżki kompilacji
  3. Otwórz plik build.gradle (zauważ, że są przynajmniej dwa pliki build.gradle, nie używaj głównego, używaj tego w swoim zakresie projektu).
  4. Znajdź sekcję zależności (dla mnie próbowałem plik jar AdMob-GoogleAdMobAdsSdk) np.

    dependencies {
       compile files('libs/android-support-v4.jar','libs/GoogleAdMobAdsSdk-6.3.1.jar')
    }
    
  5. Ostatnio wejdź w settings.gradle i upewnij się, że wygląda to mniej więcej tak:

    include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'
    
  6. na koniec przejdź do Build - > Rebuild Project
 10
Author: j2emanue,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-15 18:41:04

Eksportujesz projekt z Eclipse, a następnie importujesz projekt z Android Studio, powinno to rozwiązać twój problem, otwórz projekt eclipse bez importowania go z Android Studio możesz powodować problemy, spójrz na: (Wybacz mój język, mówię po hiszpańsku.) http://developer.android.com/intl/es/sdk/installing/migrate.html

 2
Author: Heberth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-28 01:54:57

Miałem problem z wczytaniem pliku JAR w folderze libs w Android Studio. Jeśli dodałeś plik JAR w folderze libs, po prostu otwórz plik build.gradle i zapisz go bez edycji czegokolwiek innego. If you have added this line

compile fileTree(dir: 'libs', include: ['*.jar'])

Zapisz go i wyczyść projekt .. W następnym czasie kompilacji Android Studio załaduje plik JAR.

Mam nadzieję, że to pomoże.
 2
Author: IMRA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-14 23:03:02

Używam Android Studio 0.5.2. Więc jeśli Twoja wersja jest niższa niż moja, moja odpowiedź może nie działać dla Ciebie.

3 sposoby na dodanie nowego słoika do projektu:

  1. Menu pod Pliki-- > struktura projektu
  2. po prostu naciśnij ' F4 '
  3. w obszarze Project navigation, kliknij prawym przyciskiem myszy na dowolnej bibliotece java i wyświetli się menu kontekstowe, a następnie kliknij "Otwórz Ustawienia Biblioteki "

Pojawi się okno struktury projektu.

W lewej kolumnie kliknij na "Biblioteki" następnie spojrzeć na prawym panelu, gdzie znajduje się znak plusa " + " i kliknij na nim, a następnie wprowadź ścieżkę do nowej biblioteki.

Upewnij się, że nowa biblioteka znajduje się w folderze' project\libs\', w przeciwnym razie może pojawić się uszkodzony link podczas zapisywania kodu źródłowego projektu.

 1
Author: Gilson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-19 19:30:43

Obecnie używam Android Studio 1.4.

Do importowania i dodawania bibliotek użyłem następującego flow - >

1. Press **Alt+Ctr+Shift+S** or Go to **File --> Project** Structure to open up the Project Structure Dialog Box.

2. Click on **Modules** to which you want to link the JAR to and Go to the Dependency Tab.

3. Click on "**+**" Button to pop up Choose Library Dependency.

4. Search/Select the dependency and rebuild the project.

Użyłem powyższego podejścia do importowania bibliotek obsługujących v4 i V13.

Mam nadzieję, że to pomoże i oczyści przepływ.

 1
Author: Satish Garg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-03 22:06:33

Używam android studio 0.8.6 i do importowania zewnętrznej biblioteki w projekcie , wklej tę bibliotekę do folderu libs i wewnątrz build.gradle write path tej biblioteki wewnątrz zależności Jak to kompilować pliki ('libs/google-play-services.jar')

 0
Author: Dharmendra Pratap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-30 12:16:56

W Android Studio (moim jest 2.3.1) przejdź do struktury projektu Pliku:

Tutaj wpisz opis obrazka

 0
Author: Zon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-03 12:04:50

Sprawdź wymagania wersji libs. Lib może próbować wywołać metodę z wyższej wersji Androida. Spróbuj dodać biblioteki kompatybilności aplikacji.

Gdy Wszystko inne zawiedzie spróbuj przełączyć się z Gradle build na Eclipse build.

Usuń i zrestrukturyzuj swoje foldery do stylu eclipse i usuń wszystko oprócz kodu. Następnie przeładuj projekt swoimi libami.

Gdy już zacznie działać, wróć do Gradle, jeśli chcesz.

 -2
Author: Developer Bayman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-11 17:41:52