首页 文章

Android Studio:如何使用Gradle生成签名的apk?

提问于
浏览
82

我在Google和SO上搜索过但找不到我的答案 .

这是我第一次使用gradle系统,现在我正在生成一个已签名的APK上传到Google Play(Project是从eclipse导入的) .

现在我已经阅读了http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Building-and-Tasks中的部分,你应该将 signingConfigs 添加到你的 build.gradle

我添加了这些行,现在我看到你需要运行 ./gradlew assembleRelease 但在我的cmd中运行它返回'gradle'不被识别为内部或外部命令,可操作程序或批处理文件 . 我也尝试右键单击build.gradle并运行它,说它是成功的但是一旦我在build / apk文件夹中查看了一个名为 app-debug-unaligned.apk 的文件

那么如何使用Gradle系统生成签名的apk?

5 回答

  • 24

    根据 buildType ,有三种方法可以生成构建 . (在你的情况下,它是发布但它可以命名任何你想要的 . )

    • 转到Android Studio右侧面板中的Gradle Task,在模块任务下搜索 assembleReleaseassemble(#your_defined_buildtype)

    • 转到左侧面板中的构建变量,然后从下拉列表中选择构建

    • 转到File Explore中的项目根目录并打开cmd / terminal并运行:

    Linux: ./gradlew assembleRelease or assemble(#your_defined_buildtype)

    Windows: gradlew assembleRelease or assemble(#your_defined_buildtype)

    如果要进行发布构建(仅限),可以使用Build> Generate Signed apk . 对于其他构建类型,只有以上三个选项可用 .

    您可以在 module/build 目录中找到生成的APK,其中包含构建类型名称 .

  • 92

    可以使用任何现有的Android Studio gradle项目,并从命令行构建/签名,而无需编辑任何文件 . 这使得将项目存储在版本控制中同时保持密钥和密码分离非常好:

    ./gradlew assembleRelease -Pandroid.injected.signing.store.file=$KEYFILE -Pandroid.injected.signing.store.password=$STORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD
    
  • 49

    您可以使用此代码

    android {
       ...
        signingConfigs {
            release {
                storeFile file("../your_key_store_file.jks")
                storePassword "some_password"
                keyAlias "alias_name"
                keyPassword "key_password"
            }
        }
    
        buildTypes {
    
            release {
                signingConfig signingConfigs.release
            }
        }
       ...
    }
    

    然后从您的终端运行

    gradle assembleRelease
    

    你会得到apk的

    您-Android的应用程序/建设/输出/ APK /你的,Android的应用程序,release.apk

  • -2

    我想这可以帮助你https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/然后只需从 Build Variants 中选择 Release

  • 2

    构建菜单>生成签名的apk

相关问题