【问题标题】:Unable to view google map when i export my project from android studio当我从 android studio 导出项目时无法查看谷歌地图
【发布时间】:2015-06-01 18:22:36
【问题描述】:

我开发了我的第一个应用程序,它是一个使用谷歌地图的基于位置的提醒。当我使用 USB 电缆将我的项目从 android studio 调试到我的设备时,一切正常,但是当我在设备中通过“生成签名的 apk”导出我的应用程序时,我无法看到地图,它只是一个空白页,下面写着谷歌。我无法获取地图.. 我错过了一些东西,还是有另一种方法可以为谷歌地图项目生成 apk?

已使用此命令为发布模式生成了一个密钥库:-

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

在此之后,我将签名配置添加到应用模块的构建文件中:-

android {
signingConfigs {
    config {
        keyAlias 'ramu'
        keyPassword 'ramu@localert'
        storeFile file('C:/Program Files/Java/jdk1.8.0_25/bin/my-release-key.keystore')
        storePassword 'ramu@localert'
    }
    release {
        storeFile file('C:/Program Files/Java/jdk1.8.0_25/bin/my-release-key.keystore')
        storePassword 'ramu@localert'
        keyAlias 'ramu'
        keyPassword "password"
    }
}
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
    applicationId "com.example.anand.project"
    minSdkVersion 18
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
    debug {
        signingConfig signingConfigs.config
    }
}

}

n 现在当我调用 assemblerelease m 时出现以下错误:-

Error:Execution failed for task ':app:packageRelease'.

无法从存储“C:\Program Files\Java\jdk1.8.0_25\bin\my-release-key.keystore”读取密钥 ramu:无法恢复密钥

要么我错过了一些东西,我很困惑是否为发布模式生成一个新的密钥库,或者我应该使用我用于谷歌地图 api 的调试密钥库..?我最终生成了超过 2 个 .apk 的..

【问题讨论】:

  • 您是否按照Signing Your App in Android Studiohere的步骤操作?
  • @bjiang yess 用于启用 google maps api 我遵循以调试模式签署我的应用程序,该模式具有调试密钥库,昨天我遵循了发布模式的步骤。编辑了帖子并添加了我的内容做了..请看看..
  • 我注意到您使用的是Java1.8,您可以尝试使用完全兼容的Java 1.7
  • 谢谢..我找到了解决方案..

标签: android google-maps google-maps-api-3 apk


【解决方案1】:

您将获得用于调试密钥库和发布密钥库的单独密钥。调试密钥库 API 密钥不适用于已签名的 apk,您必须获取发布 API 密钥。

【讨论】:

  • 因为我是 android m 的新手,我很困惑我应该怎么做.. 我参考了 android 开发者网站来生成发布密钥,但它说你需要创建一个密钥库和私钥.. 什么是这一切?如何创建私钥? Google Map API V2 密钥是我应该使用的密钥吗?
  • 您是否从调试密钥库生成 sha1?如果是,那么类似地,您可以从已签名的 apk 进程中获得的发布密钥库生成 sha1。
  • 另见此从发布密钥库read this生成sha1
  • 是的,我已经从调试密钥库生成了我的 SHA1 密钥,以便谷歌地图工作..
  • 当你尝试生成一个签名的 apk 时,你得到了一个密钥库,对吧?您可以使用该密钥库生成发布 API 密钥
【解决方案2】:

好吧,我找到了解决问题的方法。为了启用我的 google map api,我使用调试密钥库来获取我的 SHA1 指纹,并在我的项目中添加了 google map api 密钥。因此,当我尝试运行\发布具有调试密钥库签名的应用程序时,它没有获取地图

解决方案:-

解决方案是您需要有一个由发布模式生成的密钥才能在您运行\发布您的应用程序后查看地图。以下是使用发布模式签署应用程序的过程:-

首先在命令行中创建一个密钥库:-

keytool -genkey -v -keystore my-release-key.keystore -alias alias-name -keyalg RSA -keysize 2048 -validity 10000

您将从密钥库中获取 SHA1 指纹

使用它来启用 api n 在谷歌开发者控制台中生成谷歌地图 api 密钥。

现在,转到 Android Studio -> 构建 -> 生成签名的 apk -> 通过“选择现有”找到上面创建的密钥库 -> 输入您在命令行中创建密钥库时提供的密码 -> 下一步 -> 选择您的目的地您要保存 .apk 文件的文件夹 -> 完成。

现在使用此 apk 运行\发布您的项目。

【讨论】:

    猜你喜欢
    • 2015-08-17
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    相关资源
    最近更新 更多