android – Map API v2授權失敗
做的
>通過keytool得到除錯鍵(確保它是首選項中的eclipse使用的除錯鍵 – > Android– > Build)
>通過命令生成金鑰
$keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android
>複製貼上在Google API控制檯的SHA1總和我的packagename:
總和; com.my.package
>在Google API控制檯的同一個專案中啟用Google Map API v2
>將其複製到元資料中的清單應用程式.
>通過SDK經理下載並匯入google-play-services_lib專案,並將其引用為庫專案.以及ActionBarSherlock.
>在啟動之前,我確保GooglePlayServices可用.
表現:
<uses-feature android:glEsVersion="0x00020000" android:required="true"/> <permission android:name="com.my.package.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.my.package.permission.MAPS_RECEIVE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
應用:
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="debug_key"/>
保鏢的東西也被添加了,但我現在不會混淆.
DrugstoresMapActivity擴充套件了SherlockFragmentActivity
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:id="@+id/map_fragment" class="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>
project.properties
target=android-17 android.library.reference.1=../google-play-services_lib android.library.reference.2=../ActionBarSherlock
ActionBarSherlock在libs中有android-support-v4,而不是主要的專案.
StartupActivity可確保僅當服務可用時才會啟動DrugstoresMapActivity
private void attempt() { int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext()); switch (result) { case ConnectionResult.SUCCESS: startActivity(new Intent(this, DrugstoresMapActivity.class)); finish(); break; default: GooglePlayServicesUtil.getErrorDialog(result, this, REQUEST_DIALOG) .show(); break; } }
雙重檢查鑰匙是否正常.
沒有線索我錯過了這裡