【问题标题】:Google Maps Signed APK Android谷歌地图签名APK Android
【发布时间】:2015-05-18 08:18:35
【问题描述】:

我的应用程序可以在调试模式下与谷歌地图一起使用。我创建了我的 signature.jks,然后构建了我签名的 APK。 我使用 che 命令行代码检索 SHA1 指纹

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

然后我将它添加到我在谷歌开发者控制台上的项目中。

但是当我在手机上运行该应用程序时,它不起作用。 这是正确的程序吗?

【问题讨论】:

    标签: android google-maps apk keytool


    【解决方案1】:

    您应该在 Android Manifest 中为所有构建类型(调试版本等)设置映射键。如果您使用 gradle 进行构建,您可以在 build.gradle 中自定义键:

    构建类型 {

    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}" />
    

    【讨论】:

    • 我已经做到了。但是我将map_key直接放在清单中。但是,如果我构建签名 apk 并选择调试它可以工作,如果我选择发布它不起作用。
    • 您应该有 2 个密钥库。用于调试和发布。然后,您应该使用您指出的命令为两者生成 - SHA1 指纹。然后你应该在 APIs & auth -> Credentials 下的 api 控制台console.developers.google.com 中注册这个指纹。然后,当您使用发布密钥构建签名 apk - 您应该使用从发布密钥库的指纹生成的映射密钥,如果您使用调试密钥库构建 - 您应该使用调试映射密钥。
    • Android Studio 中 build-generate 签名 APK 下的“create new”是创建发布密钥库的有效方法吗?
    • 是的,你可以在这里找到详细信息developer.android.com/tools/publishing/app-signing.html#studio
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    相关资源
    最近更新 更多