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 )
_
481 181 | 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
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? |
_
912 | 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:
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 |
'StackOverflow ' 카테고리의 다른 글
[Javascript] !-- 연산자가 무슨 뜻인가요? (0) | 2016.01.04 |
---|---|
[Java] 일정 범위 이내의 정수인 난수를 자바에서는 어떻게 만들어야 하나요? (0) | 2015.12.29 |
[C] ??!??! 연산자가 무슨 의미인가요? (0) | 2015.12.26 |
[Android] SDK의 시스템 이미지 용량이 너무 큰데, 지우면 안되나요? (0) | 2015.12.26 |
[Eclipse] 이클립스를 클린모드로 실행시키기 (0) | 2015.12.23 |