code

Android Studio-외부 라이브러리 / Jar 가져 오기

codestyles 2020. 11. 26. 08:16
반응형

Android Studio-외부 라이브러리 / Jar 가져 오기


최근에 Android 애플리케이션을 개발하기 위해 Android Studio를 다운로드했습니다 (Eclipse에서 왔습니다). 내 프로젝트와 함께 외부 라이브러리 및 / 또는 외부 JAR 파일을 사용하는 데 문제가 있습니다. 참고 : 다음 테스트는 Android Studio에서 처음부터 생성 된 애플리케이션 프로젝트에서 수행되었습니다 .

예 1 : JAR 가져 오기.

  1. Google에서 Admobs SDK의 새 사본을 다운로드하십시오.

  2. 라이브러리 jar GoogleAdMobAdsSdk-6.4.1.jar를 프로젝트의 / libs / 폴더에 복사합니다.

  3. 프로젝트 탐색기에서 새로 추가 된 library.jar를 마우스 오른쪽 버튼으로 클릭하고 '라이브러리로 추가'를 클릭합니다.

기술적으로이 시점에서 모든 것이 작동하고 , 가져 오기는 잘 작동하며, 레이아웃 편집기는 AdView위젯 의 미리보기를 보여줍니다 . 유일한 문제는 그것이 성공적으로 컴파일하지 않습니다.

콘솔에서 로그 :

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'.

나는 실행을 시도했는데 gradlew compileDebug --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

그러나 다시 한 번, 가져 오기는 편집기에서 잘 작동하며 종속성이 있습니다.

여기에 이미지 설명 입력

라이브러리 / JAR를 추가하지 않고도 프로젝트가 잘 컴파일된다는 점도 주목할 가치가 있습니다.

그런 다음 다음과 같이 새 lib를 포함하도록 build.gradle 파일을 편집 해 보았습니다.

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

이번에는 성공적으로 컴파일되었지만 이제 응용 프로그램 패키지의 lib에서 특정 클래스를 찾을 수 없으므로 앱이 강제 종료됩니다.

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: /data/app/com.foo.test-1.apk

어떤 아이디어?


그래서,

Android Studio 0.1.1을 사용하여 JAR을 프로젝트로 성공적으로 가져 오기 위해 따라야 할 단계 :

  • library.jar 파일을 다운로드하여 애플리케이션 프로젝트 내의 / libs / 폴더에 복사하십시오.
  • build.gradle 파일을 열고 새 .jar 파일을 포함하도록 종속성을 편집하십시오.

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

  • 파일-> 프로젝트 닫기
  • 프로젝트의 루트 위치에서 명령 프롬프트를 엽니 다. 'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
  • 명령 프롬프트에서을 입력 gradlew clean하고 완료 될 때까지 기다립니다.
  • Android Studio에서 애플리케이션 프로젝트를 다시 엽니 다.
  • 응용 프로그램을 테스트 실행하면 성공적으로 작동합니다.

프로젝트를 닫고 명령 줄로 이동하여 grade : clean을 호출 할 필요가 없습니다. 빌드-> 프로젝트 다시 빌드로 이동하십시오.


쉬운 방법은 나를 위해 작동합니다. Android Studio 0.8.2 사용.

  1. libs 아래에서 jar 파일을 드래그합니다.
  2. "Sync Project with Gradle Files"버튼을 누릅니다.

여기에 이미지 설명 입력


"간단한 해결책이 여기 있습니다"

1. 프로젝트 내의 모든 디렉터리에 대해 app 디렉터리 아래에 libs 라는 폴더를 만듭니다 .

2. 라이브러리를 libs 폴더에 붙여 넣기

.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..

평화!


다음은 admob sdk jar 파일에 대해 구체적으로 사용하는 방법입니다 .

  1. jar파일을 libs 폴더로 드래그하십시오 .
  2. jar파일을 마우스 오른쪽 버튼으로 클릭하고 라이브러리 추가를 선택 하십시오. 이제 jar 파일이 라이브러리이므로 컴파일 경로에 추가 할 수 있습니다.
  3. Open the build.gradle file (note there are two build.gradle files at least, don't use the root one use the one in your project scope).
  4. Find the dependencies section (for me i was trying to the admob -GoogleAdMobAdsSdk jar file) e.g.

    dependencies {
       compile files('libs/android-support-v4.jar','libs/GoogleAdMobAdsSdk-6.3.1.jar')
    }
    
  5. Last go into settings.gradle and ensure it looks something like this:

    include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'
    
  6. Finally, Go to Build -> Rebuild Project

you export the project from Eclipse and then import the project from Android Studio, this should solve your problem, open a eclipse project without importing it from Android Studio you can cause problems, look at: (Excuse my language, I speak Spanish.) http://developer.android.com/intl/es/sdk/installing/migrate.html


I had the problem not able to load jar file in libs folder in Android Studio. If you have added JAR file in libs folder, then just open build.gradle file and save it without editing anything else. If you have added this line

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

save it and clean the project .. In next build time Android Studio will load the JAR file.

Hope this helps.


I'm using Android Studio 0.5.2. So if your version is lower than mine my answer may not work for you.

3 ways to add a new Jar to your project:

  1. Menu under Files-->Project Structure
  2. Just press 'F4'
  3. under Project navigation, right clink on any java library and a context menu will show then click on 'Open Library Settings'

A Project Structure window will popup.

On the left column click on 'Libraries' then look at the right pane where there is a plus sign '+' and click on it then enter the path to your new library.

Make sure the new library is under the 'project\libs\' folder otherwise you may get a broken link when you save your project source code.


I am currently using Android Studio 1.4.

For importing and adding libraries, I used the following 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.

I used the above approach to import support v4 and v13 libraries.

I hope this is helpful and clears up the flow.


I use android studio 0.8.6 and for importing external library in project , paste that library in libs folder and inside build.gradle write path of that library inside dependencies like this compile files('libs/google-play-services.jar')


In Android Studio (mine is 2.3.1) go to File - Project Structure:

여기에 이미지 설명 입력


libs 버전 요구 사항을 확인하십시오. lib가 더 높은 Android 버전에서 메서드를 호출하려고 할 수 있습니다. 앱 호환성 라이브러리를 추가해보세요.

다른 모든 것이 실패하면 Gradle 빌드에서 Eclipse 빌드로 전환하십시오.

폴더를 삭제하고 이클립스 스타일로 재구성하고 코드를 제외한 모든 것을 삭제하십시오. 그런 다음 libs로 프로젝트를 다시로드하십시오.

일단 실행되면 원하는 경우 Gradle로 돌아갑니다.

참고 URL : https://stackoverflow.com/questions/16779959/android-studio-importing-external-library-jar

반응형