본문 바로가기

StackOverflow

[Android] 안드로이드 스튜디오에서 jar 파일을 라이브러리로 추가하기

http://stackoverflow.com/questions/16608135/android-studio-add-jar-as-library


Q: 안드로이드 스튜디오에서 jar 파일을 라이브러리로 추가하려면 어떻게 해야 하나요?

저는 안드로이드 스튜디오를 처음 이용해 보려고 하는데, 이 작업을 적절하게 수행하려면 어떻게 해야하는지 잘 모르겠습니다.

저는 Gson 라이브러리를 이용하여 JSON 객체를 시리얼라이즈/디시리얼라이즈하고 있는데, 빌드할 때 해당 라이브러리를 포함시키도록 설정할 수가 없습니다.

저는 새로운 MainActivity를 만들었고, gson-2.2.3.jar 파일을 /libs 폴더에 복사했고, 우클릭 후 Add as library를 했습니다. 이렇게 하니 Android studio가 jar파일을 인식했고, 소스파일에서 해당 라이브러리를 이용해도 에러없이 코딩가능했습니다.

그런데 프로젝트를 실행하려고 하니 컴파일이 되지 않아 아래 구문을

compile files('libs/gson-2.2.3.jar')

de.gradle에 추가했습니다. 이제 컴파일은 잘 되는데, 실행을 시키니 ClassDefNotFoundException이 발생합니다. 제가 뭘 잘못한걸까요?

(질문자: Ozzie )



A: 저도 같은 문제로 몇 시간을 머리를 쥐어뜯으며 시도했는데, Gson jar파일을 이용해서 빌드하는 것이었습니다. 결국 해결책을 알아냈는데, 아래와 같이 하면 됩니다.

1. Gson.jar 파일을 libs 폴더에 복사 (제 경우에는 gson-2.2.4.jar)

2. 해당 파일에서 우클릭하고, "Add as library' 선택

3. 다음 라인을 build.gradle에 추가: compile files('libs/gson-2.2.4.jar')

4. 클린 빌드를 수행. Android studio에서도 정상적으로 작업할 수 있지만, 터미널에서 해당 앱의 루트 폴더로 이동한 뒤 gradlew clean 커맨드를 입력해도 됩니다. 제 환경은 MAC OS X 이고, 이 커맨드는 개발환경마다 조금 다를 수 있습니다.


이 네가지 과정을 수행하고 나면, 잘 동작합니다. 제 경우에는 제가 'Add as library'을 빠뜨려서 동작을 안한 것 같습니다. 이 과정이 빠지면, clean 빌드를 한다 해도 제대로 동작하지 않습니다.

[수정 - build.gradle 파일에 gson 관련 코드를 추가하는 것도 영향을 미치고 있어 추가했습니다)

(답변자: lepoetemaudit )


_

I'm trying to use the new Android Studio but i can't seem to get it working correctly.

I'm using the Gson-library to serialize/deserialize JSON-objects. But the library somehow isn't included in the build.

I created a new project with just a MainActivity. Copied gson-2.2.3.jar in the /libs folder and added it as a library (right click->Add as library). This includes the jar in android studio so it can be referenced from the source files.

When I try to run the project it cannot compile so i added

compile files('libs/gson-2.2.3.jar')

to the dependencies in de .gradle file. After that it compiles correctly but when running the application i get a ClassDefNotFoundException. Does anyone know what i'm doing wrong?

shareeditflag

_

912down voteaccepted

I've been struggling with the same thing for many hours, trying to get the Gson jar to work no less. I finally cracked it – here are the steps I took:

  1. Put the Gson jar (in my case, gson-2.2.4.jar) into the libs folder
  2. Right click it and hit 'Add as library'
  3. Ensure that compile files('libs/gson-2.2.4.jar') is in your build.gradle file
  4. Do a clean build (you can probably do this fine in Android Studio, but to make sure I navigated in a terminal to the root folder of my app and typed gradlew clean. I'm on Mac OS X, the command might be different on your system

After I did the above four, it started working fine. I think the 'Add as library' step was the one I'd previously missed, and it didn't work until I cleaned it either.

[Edit - added the build.gradle step which is also necessary as others have pointed out]

shareeditflag