【问题标题】:How can deploy signed APK when click Run in Android Studio?在 Android Studio 中单击运行时如何部署签名的 APK?
【发布时间】:2015-01-20 18:41:18
【问题描述】:

我正在开发一个使用 Google API 的应用。我在“Google Developers Console”中创建了凭据。如果我创建一个签名的 APK,并在手机上运行它,就没有问题。

问题是,在我开发应用程序时,当我单击“运行”按钮时,它会在手机上部署应用程序的未签名版本。因此该应用程序不起作用。

如何设置 Android Studio 使其在点击 RUN 按钮时在手机上部署签名的 APK?

【问题讨论】:

    标签: android android-studio apk signed-apk


    【解决方案1】:

    将这些值添加到您的 .gradle:

    signingConfigs{
        debug{
            keyAlias 'your key alias'
            keyPassword 'your keypassword'
            storeFile file('keystore path')
            storePassword 'your storepassword'
        }
    }
    buildTypes {
        debug{
            signingConfig signingConfigs.debug
        }
    }  
    

    文件中的密钥库路径类似于E:/xxx/xxx/xx.keystore

    【讨论】:

    • 我总是收到此错误:“安装失败并显示消息 Failed to finalize session : INSTALL_FAILED_INVALID_APK: /data/app/vmdl52362262.tmp/1_slice__ 签名不一致。通过卸载可能会解决此问题apk 的现有版本(如果存在),然后重新安装。”我通过菜单卸载了,但你的代码对我不起作用,为什么?
    • 我用这个解决了我的“签名不一致”错误:stackoverflow.com/a/42703302/1472483
    • 哪个级别? ProjectModule
    • @SD826E 我把这个配置放在模块级别,叫做'app'
    【解决方案2】:

    通常我从命令行执行,通过“adb install -r file.apk”安装(-r 保存应用数据)

    也可以通过 Gradle 和项目设置来完成,请在此处查看答案:Android Studio - Run signed apk on emulator

    【讨论】:

    • 这是正确的方法:生成签名的 Apk,然后使用此命令“adb install -r path_to/app-release.apk”安装它。之前的答案(修改signingConfigs{})不会像您在 Google Play 上启动那样生成正确的应用发布版本。
    【解决方案3】:

    当我想测试我的 APK 版本时,我只使用 ADB-Link。它免费且非常易于设置。只需确保删除您在设备上安装的任何先前版本,否则安装将失败。

    【讨论】:

      【解决方案4】:

      也许这不是您关于如何在运行应用程序之前对其进行签名的问题的答案,但您是否考虑过为您正在使用的调试密钥创建新签名密钥的选项?您可以在调试模式下使用单独的 API 密钥。

      我发现了一些关于在发布和调试模式下使用密钥的额外信息: Android: automatically choose debug/release Maps v2 api key?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-13
        • 1970-01-01
        • 1970-01-01
        • 2014-09-13
        • 2015-05-08
        • 2023-03-19
        • 2021-12-12
        相关资源
        最近更新 更多