好吧,所以我知道有很多關於這個主題的問題,但它似乎仍然不適合我。無論如何,這裏有:谷歌地圖Android API v2 - 發佈密鑰
我的應用使用Google地圖片段。爲了顯示地圖,我從Google獲得了調試證書,並將其放入我的Android Manifest中。一切都很完美。
現在,我準備在Play商店發佈我的應用。所以,我生成了一個簽名的APK,在這個過程中創建了我的密鑰庫。我還必須更改我的應用程序包名稱,因爲Google不接受包名稱與com.example.appname。
所以,現在我需要從Google獲得另一個版本證書,才能發佈我的應用,對嗎?所以我按照這裏的說明進行操作:https://developers.google.com/maps/documentation/android/start
我從我的密鑰庫(這與我的調試證書中使用的調試SHA1指紋不同)中獲得SHA1指紋,並將其插入Google Developer中的憑據使用我的更新軟件包名稱的控制檯獲取釋放密鑰。然後,我替換成新的版本密鑰我以前的調試關鍵,並重建我的項目,但我從logcat中出現以下錯誤:
Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map.
In the Google Developer Console (https://console.developers.google.com)
Ensure that the "Google Maps Android API v2" is enabled.
Ensure that the following Android Key exists:
現在這裏,就說明我只是插入我的清單中的新版本的關鍵,但它顯示我的舊調試SHA1指紋,而不是我的密鑰庫中的指紋,所以地圖永遠不會顯示,而且它的位置只有一個灰色屏幕。這是我的Android清單的一部分,我也有所有必要的許可,以及:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_myicon"
android:label="MyApp"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="(My release key)" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
這裏是我的build.grade文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "(my package name)"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:6.5.87'
}
或許有新版本鍵之間的不匹配和舊的調試SHA1指紋,如果有的話,爲什麼一切都不正確?如果有人能幫我解決這個問題,我將不勝感激。
你是從Android Studio中運行,或者是你運行簽署APK?此外,確保在從調試切換到發佈時卸載應用程序,然後發佈到調試。 –
@DanielNugent我從Android Studio運行,但運行APK也不起作用。我已經嘗試卸載它並再次安裝它... – Nisarg
將您的調試sha1添加到您的新api密鑰以便從Android Studio運行!此外,您是否使用新的API密鑰重建了您的已簽名apk? –