2015-05-18 52 views
2

我有我的應用程序與谷歌地圖在調試模式下的作品。我創建了我的signature.jks,然後構建了我簽名的APK。 我使用車的命令行代碼Google地圖簽名APK安卓

keytool -list -v -keystore signature.jks -alias myalias -storepass mypass -keypass mypass 

檢索SHA1指紋和我在谷歌的開發者控制檯項目添加此。

但是,當我在手機上運行的應用程序不起作用。 這是正確的程序?

回答

1

您應該在Android Manifest中爲所有構建類型(調試版本等)設置映射鍵。如果您使用gradle這個建築,你可以在自定義的build.gradle鍵:

buildTypes {

debug { 
    debuggable true 
    .... 
    manifestPlaceholders = [ map_key:"YOUR_DEBUG_cpq5sPasdasdasdAsVIdqK7tfG9xY" ] 
} 

release { 
    debuggable false 
    .... 
    manifestPlaceholders = [ map_key:"YOUR_RELEASE_4RUFCUrHhZJWpqKGs-d1hOIxELs" ] 
} 

而在Android清單:

<meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="${map_key}" /> 
+0

我已經做到了這一點。但是我將map_key直接放在清單中。但是,如果我讓構建簽名apk並選擇調試它的作品,如果我選擇發佈它不起作用。 –

+0

您應該有2個密鑰庫。用於調試和發佈。然後,您應該使用您指出的命令生成SHA1指紋。然後,您應該在api控制檯https://console.developers.google.com下的APIs&auth - > Credentials下注冊此指紋。然後,當您使用發行版密鑰構建已簽名的apk時 - 如果使用調試密鑰庫構建,則應使用從發行版密鑰庫指紋生成的映射密鑰 - 應使用調試映射密鑰。 – x90

+0

在Android Studio中構建生成簽名APK的「創建新」是創建發行密鑰庫的有效方法嗎? –