안녕하세요.
일단 저는 학생입니다. ㅠㅜ
같은 문제 때문에 일주일을 끙끙대니... 죽겟습니다.
선배님들의 선처를 도와드립니다...
구글맵을 인증키를 받아서 v2로요 갤S3에서 실행했는데요. 실행은 되는데 지도는 뜨지않습니다. 그럼 API 인증키 문제라는건데
계속 바꿔도 안되네요... 인증키 받을때 SHA1;패키지명으로 써도 안되고요 ㅠㅜ
죽겠습니다.
다른 사람은 되는 소스인데 같은 소스인데 인증키만 바꾸면 되는 실행 파일인데 왜 안될까요??ㅠㅜ
제가 인증키 발급을 잘못 한걸까요?? 패키지명이 매니 페스트 위에 있는 패키지명 아닌가요??ㄷ
에러 표시는 이렇습니다.
05-27 11:30:41.023: E/System(22528): Uncaught exception thrown by finalizer
05-27 11:30:41.023: E/System(22528): java.io.IOException: close failed: EIO (I/O error)
05-27 11:30:41.023: E/System(22528): at libcore.io.IoUtils.close(IoUtils.java:41)
05-27 11:30:41.023: E/System(22528): at java.io.RandomAccessFile.close(RandomAccessFile.java:166)
05-27 11:30:41.023: E/System(22528): at java.io.RandomAccessFile.finalize(RandomAccessFile.java:175)
05-27 11:30:41.023: E/System(22528): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:186)
05-27 11:30:41.023: E/System(22528): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:169)
05-27 11:30:41.023: E/System(22528): at java.lang.Thread.run(Thread.java:856)
05-27 11:30:41.023: E/System(22528): Caused by: libcore.io.ErrnoException: close failed: EIO (I/O error)
05-27 11:30:41.023: E/System(22528): at libcore.io.Posix.close(Native Method)
05-27 11:30:41.023: E/System(22528): at libcore.io.BlockGuardOs.close(BlockGuardOs.java:75)
05-27 11:30:41.023: E/System(22528): at libcore.io.IoUtils.close(IoUtils.java:38)
05-27 11:30:41.023: E/System(22528): ... 5 more
05-27 11:30:41.103: E/System(22528): Uncaught exception thrown by finalizer
05-27 11:30:41.113: E/System(22528): java.io.IOException: close failed: EIO (I/O error)
05-27 11:30:41.113: E/System(22528): at libcore.io.IoUtils.close(IoUtils.java:41)
05-27 11:30:41.113: E/System(22528): at java.io.RandomAccessFile.close(RandomAccessFile.java:166)
05-27 11:30:41.113: E/System(22528): at java.io.RandomAccessFile.finalize(RandomAccessFile.java:175)
05-27 11:30:41.113: E/System(22528): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:186)
05-27 11:30:41.113: E/System(22528): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:169)
05-27 11:30:41.113: E/System(22528): at java.lang.Thread.run(Thread.java:856)
05-27 11:30:41.113: E/System(22528): Caused by: libcore.io.ErrnoException: close failed: EIO (I/O error)
05-27 11:30:41.113: E/System(22528): at libcore.io.Posix.close(Native Method)
05-27 11:30:41.113: E/System(22528): at libcore.io.BlockGuardOs.close(BlockGuardOs.java:75)
05-27 11:30:41.113: E/System(22528): at libcore.io.IoUtils.close(IoUtils.java:38)
05-27 11:30:41.113: E/System(22528): ... 5 more
05-27 11:30:41.628: E/Google Maps Android API(22528): Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map.
05-27 11:30:41.628: E/Google Maps Android API(22528): Ensure that the following correspond to what is in the API Console: Package Name: com.example.mapview, API Key: AIzaSyDQEqIkJjgLvfD8IzMWL7irUFikj-i-4_k, Certificate Fingerprint: 59F2998918FC37DACDE5D9C3B3BC64CB049EAEDC
05-27 11:30:42.063: E/Google Maps Android API(22528): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).
아무리 구글링 해봐도 나오지를 않네요.
아 죽겠습니다...
구글 API v2 인증키 받을때
[ SHA1;com.example.mapview ]
이렇게 인증키 받았고요.
매니페스트는 이거고요
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mapview"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<!-- google map v2를 사용하기 위한 코드 시작 -->
<permission
android:name="com.example.mapview.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.mapview.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.example.mapview.fragment.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!-- External storage for caching. -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- My Location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Maps API needs OpenGL ES 2.0. -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<!-- google map v2를 사용하기 위한 코드 끝 -->
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="나의 API 키 ㅠㅜ" />
<activity
android:name="com.example.mapview.Mapview"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps" />
</application>
</manifest>
이렇게 했는데 안됩니다. ㅠㅜ
도대체 왜 그런건가요??ㅠㅜ 진짜 도와주세요...
아하...
Caused by: libcore.io.ErrnoException: close failed: EIO (I/O error) 이 에러 도저히 모르겠습니다. ㅠㅜ
Google APIs Console 에서 Services 가셔서 Google Maps Android API v2 가 On 되있는지 확인하시구요 Off 되있었으면 On 하시구 Key 다시 generate 하세요
하... 저랑 똑같은 고민겪고 있으신 분이네요 ㅠㅠ 왜 안되는 걸까요 ㅠㅠㅠㅠㅠ