【问题标题】:Release version of *.apk in Android StudioAndroid Studio 中 *.apk 的发布版本
【发布时间】:2013-07-12 08:11:18
【问题描述】:

我想向 Google Market 提交申请。我发现一个项目中只生成了一个apk文件,它的路径是Project1Project/Project1/build/apk/Project1-debug-unaligned.apk

看起来是调试版。我在哪里可以找到(如果有)应用程序的发布版本或如何生成它?

【问题讨论】:

标签: android android-studio


【解决方案1】:

由于 Android Studio 是基于 IntelliJ 的,所以在 IntelliJ 中是这样操作的:

Build -> Generate Signed APK

并向其提供您的密钥和密码。

【讨论】:

  • 我真的需要一个签名的apk吗?我不想卖。
  • 是的,你需要它。您需要有由您的特定密钥集签名的有效 apk。调试应用程序 (apk) 由固定调试密钥签名。程序:stackoverflow.com/questions/4853011/…
  • 为什么我得到 Application x (process com.xy) is waiting for the debugger to attach) 当我运行已按照您提到的方式生成的已安装 apk 时?
  • @SaeedNamati,您正在调试模式下运行,并且必须在运行您的应用程序之前附加调试器。有些东西阻止调试器附加。在任一侧重新启动可能会有所帮助。
【解决方案2】:

可以构建一个未签名的发布版本。请参阅答案here。我没有看到从 GUI 执行此操作的简单方法,但您可以使用 shell 命令:

./gradlew assembleRelease

在运行命令之前,请确保 cd 到您的项目目录。这将生成文件

Project1Project/Project1/build/apk/Project1-release-unaligned.apk

如果你运行./gradlew assemble,发布版和调试版都会被编译。

更多文档here

【讨论】:

    【解决方案3】:

    从 Android Studio 1.3.1 开始,准备发布的 apk 位置是:

    app -> app-release.apk
    

    这应该发布到 Google Play

    中间 apk 位于:

    app -> build -> outputs -> apk -> app-release-unaligned.apk
    

    这是签名过程的中间结果,不应发布到 Google Play

    【讨论】:

      【解决方案4】:

      Android gradle 在两个二进制文件中生成 apk:未对齐和对齐。未对齐是指数据、文件在 APK 文件中的结构。名为 zipalign 的实用程序会修改 APK,以针对用户优化的方式对齐数据。 Unaligned 只是跳过了 zipalign 阶段。

      而 Aligned APK 是优化版本。这些文件更加结构化和压缩,这有助于应用程序运行得更快。它们还针对 RAM 使用进行了优化,因此它们可以在设备上消耗更少的 RAM。 您还会看到生成的 APK 的大小差异。

      【讨论】:

        猜你喜欢
        • 2021-05-16
        • 1970-01-01
        • 1970-01-01
        • 2021-09-12
        • 2016-04-05
        • 2016-10-11
        • 2014-10-25
        • 2021-07-20
        • 2016-09-24
        相关资源
        最近更新 更多