신규로 시작하는 프로젝트면 Android Studio를 사용하면 되지만
기존 이클립스로 만들어진 프로젝트를 수정하거나 급히 대응해야 하는경우가 있습니다.
이클립스용 프로젝트를 Android Studio로 변환시키면 되겠지만
혹시 영향이 있을지도 모르고 시간부족으로 부담될때가 있습니다.
그래서 Android Studio용 라이브러리인 aar파일을 jar로 변환해야 할때가 생기게 되네요.
우선 기본적인 방법은 아래 글을 참고 하시면 되는데요.
http://androiddev.tistory.com/458
이대로 하면 100% 구동되지는 않고 약간 주의사항이 있네요.
저 같은 경우는 아래와 같은 오류가 떨어지네요. 아 머리에 지진나네요. ㅜㅠ
05-17 09:21:55.495: E/AndroidRuntime(2862): FATAL EXCEPTION: main
05-17 09:21:55.495: E/AndroidRuntime(2862): Process: com.nhn.android.mapviewer, PID: 2862
05-17 09:21:55.495: E/AndroidRuntime(2862): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/nhn/android/nmaps/R$drawable;
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.nhn.android.maps.b.a(NMapLibrary.java)
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.nhn.android.maps.NMapView.a(NMapView.java)
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.nhn.android.maps.NMapContext.setupMapView(NMapContext.java)
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.nhn.android.maps.NMapActivity.setupMapView(NMapActivity.java)
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.nhn.android.maps.NMapView.a(NMapView.java)
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.nhn.android.maps.NMapView.<init>(NMapView.java)
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.nhn.android.mapviewer.NMapViewer.onCreate(NMapViewer.java:114)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.app.Activity.performCreate(Activity.java:6237)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.app.ActivityThread.-wrap11(ActivityThread.java)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.os.Handler.dispatchMessage(Handler.java:102)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.os.Looper.loop(Looper.java:148)
05-17 09:21:55.495: E/AndroidRuntime(2862): at android.app.ActivityThread.main(ActivityThread.java:5417)
05-17 09:21:55.495: E/AndroidRuntime(2862): at java.lang.reflect.Method.invoke(Native Method)
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
05-17 09:21:55.495: E/AndroidRuntime(2862): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
05-17 09:21:55.495: E/AndroidRuntime(2862): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.nhn.android.nmaps.R$drawable" on path: DexPathList[[zip file "/data/app/com.nhn.android.mapviewer-2/base.apk"],nativeLibraryDirectories=[/data/app/com.nhn.android.mapviewer-2/lib/x86_64, /vendor/lib64, /system/lib64]]
05-17 09:21:55.495: E/AndroidRuntime(2862): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
05-17 09:21:55.495: E/AndroidRuntime(2862): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
05-17 09:21:55.495: E/AndroidRuntime(2862): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
05-17 09:21:55.495: E/AndroidRuntime(2862): ... 19 more
05-17 09:21:55.495: E/AndroidRuntime(2862): Suppressed: java.lang.ClassNotFoundException: com.nhn.android.nmaps.R$drawable
05-17 09:21:55.495: E/AndroidRuntime(2862): at java.lang.Class.classForName(Native Method)
05-17 09:21:55.495: E/AndroidRuntime(2862): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
05-17 09:21:55.495: E/AndroidRuntime(2862): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
05-17 09:21:55.495: E/AndroidRuntime(2862): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
05-17 09:21:55.495: E/AndroidRuntime(2862): ... 20 more
05-17 09:21:55.495: E/AndroidRuntime(2862): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
aar파일 압축을 풀고 라이브러리 프로젝트를 만들었습니다.
다음과 같은 구조를 보일겁니다.
프로젝트명 우클릭 메뉴호출 > Properties > 좌측 Android 선택
Android 2.3.3 API 10을 선택합니다.
AndroidManifest.xml파일을 수정합니다.
minSdkVersion을 10으로 맞춥니다. 8,9로 하면 위와 같은 오류가 나네요.
이것때문에 한참 헤멨는데 다행히 해결했네요. ㅎㅎ
자알 되네요 ^^