2015-05-18 50 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的“创建新”是创建发行密钥库的有效方法吗? –