aar 파일 jar 변환(안드로이드 프로젝트 라이브러리 활용)

Posted by Breeze24
2016. 10. 8. 19:16 Android/lecture

기존에 네이버 지도 API를 이용해 안드로이드를 개발했다면, 2016년 말까지 프로그램을 수정하여야 한다. 2016년 말까지만 ApiKey 함수가 사용 가능하고, 그 이후부터는 clientId를 사용해서 개발해야 지도 서비스를 정상적으로 사용할 수 있다. 

하지만 최근부터 배포되는 네이버 지도 안드로이드 라이브러리는 jar 파일 형식이 아닌 aar파일 형태로 배포되고 있어, 기존의 이클립스에 안드로이드 플러그인을 설치하여 사용하는 경우는 해당 라이브러리를 사용할 수가 없다. 이런 경우에는 이클립스가 아닌 안드로이드 스튜디오를 통해 개발해야 한다. 


하지만 여태까지 개발했던 프로젝트들을 안드로이드 스튜디오로 옮기는 작업이 쉽지는 않다. 소스 마이그레이션 작업도 필요하지만 안드로이드 스튜디오를 배우는 문제도 발생한다. 

이클립스의 단축키 등을 통해 쉽게 소스 개발을 했었는데, 이를 다시 안드로이드 스튜디오에서 개발하라고 한다면 개발자들은 부담을 가질 수 밖에 없다. 

글쓴이가 개발한 안드로이드 어플리케이션 중에도 네이버 지도를 사용하는 것들이 다수 있다. 이 프로젝트에서 aar을 사용하는 방법을 며칠동안 찾아보다가 aar을 직접은 사용하지 못하지만 프로젝트 라이브러리를 통해 사용하는 방법을 알게 되었다. 


이번 포스팅에서는 aar을 안드로이드 라이브러리 프로젝트로 사용하는 방법에 대해 알아보자. 

aar 파일 압축 해제

네이버에서 파일을 다운로드 받으면 그 안에 nmaps.aar 파일이 존재한다. 

이를 압축을 푼다. 빵집으로는 풀지 못했지만, 알집으로는 압축 해제가 가능했다. 

aar jar 변환

nmaps.jar


nmaps.jar 다운로드

파일 복사

새로운 폴더를 하나 만든다. nmaps 라고 만들겠다. 

그 후 압축을 푼 폴더에서 assets와 res, AndroidManifest 파일을 새로운 폴더로 복사한다.

그 후 새로운 폴더에 libs 라는 폴더를 만들어 classes.jar 파일도 복사한다. 

 

네이버 지도 라이브러리

이클립스 Import

이클립스에서 새로 생성한 폴더를 Import 한다. 

Existing Android Code Into Workspace에서 Import 하면 된다. 

 

이클립스 사용법

이클립스 라이브러리 프로젝트

그럼 아래와 같이 폴더가 나올 것이다. 

nmaps.aar

참고로 values.xml에 보면 app_name에 어플리케이션의 이름이 있다. 라이브러리 프로젝트명을 위와 같이 만들어줘야 오류가 발생하지 않는다. 

.

프로젝트를 라이브러리로 설정

nmaps 프로젝트의 빌드패스를 열어서 Android 메뉴로 이동한다. 

이 메뉴에서 Is Library에 체크를 해준다. 

체크를 하게 되면 nmaps 프로젝트는 다른 프로젝트에서 라이브러리로 이용이 가능하게 된다. 


라이브러리 프로젝트

프로젝트에 nmaps 라이브러리 추가

프로젝트에서 add 버튼을 클릭하면 위에서 추가한 nmaps 프로젝트가 나온다. 

그 후 Order and Export탭에서 nmaps를 체크해주면 된다. 

library project

이렇게 하면 aar 형태로 되어 있는 라이브러리를 이클립스에서도 사용할 수 있다. 

.

다음 포스팅에서는 위와 같이 했음에도 스마트폰에 apk를 설치하면 오류가 나는 경우가 있다. 이런 경우 어떤 방법으로 해결이 가능한지에 대해 알아보자.