[Android] 다음 지도 API
1.
http://apis.map.kakao.com/android/guide/ 에서 SDK를 다운받는다.
2.
다운 받은 파일을 압축해제한 후 보기방식을 Project 로 변경해서
app - libs 안에 libDaumMapAndroid.jar를 넣고
app - src - main - jniLibs 폴더를 생성해서 (arm64-v8a, armeabi, armeabi-v7a)세 개의 폴더를 넣어준다.
3.
AndroidManifest.xml에 권한설정 및 AppKey 추가
manifest태그 내부에 작성
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
manifest - application태그 내부에 작성
<meta-data android:name="com.kakao.sdk.AppKey" android:value="발급받은 네이티브 앱 키"/>
4.
xml코드 작성
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
5.
MainActivity.java코드 작성
MapView mapView = new MapView(this);
ViewGroup mapViewContainer = (ViewGroup) findViewById(R.id.map_view);
mapViewContainer.addView(mapView);
API ERROR 해결방법
AVD에서 팅김
Can`t load DaumMapEngineApi.so file
: AVD환경에서 앱이 실행되지 않고 팅기면서 위의 에러가 표시 되는데 Kakao Developers에 나와있는 설명대로 했는데도 계속해서 에러가 떠서 몇시간을 소비했습니다. AVD로 다른예제를 잘 사용하고 있었는데 다음 API는 AVD환경에서 실행을 하면 안되고 스마트폰에서 실행해야 합니다. 스마트폰에서는 아주 잘 됩니다.
지도 빈화면 출력 시( Logcat HTTP 에러 )
NativeBaseNetConnection: Cleartext HTTP traffic to ot0.maps.daum-img.net not permitted
: AndroidManifest.xml - application태그에 android:usesCleartextTraffic="true" 추가
android:usesCleartextTraffic="true"
Run 에러
INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113
: bulid.gradle - android 내부에 splits 추가
splits {
abi {
enable true
reset()
include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
universalApk false
}
}
'안드로이드 > Android' 카테고리의 다른 글
[Android] 애드몹 광고 (0) | 2020.04.17 |
---|---|
[Android] ScalableLayout (0) | 2020.04.17 |
[Android] RecyclerView (0) | 2020.04.10 |
[Android] 로딩화면 구현 (0) | 2020.04.06 |
[Android]상태바 및 타이틀바 제거 (0) | 2020.02.26 |