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

时间:2014-01-04 13:13:23

标签: android gradle android-studio apk android-gradle

我在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 个答案:

答案 0 :(得分:93)

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

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

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

  3. 转到File Explore中的项目根目录,然后打开cmd / terminal并运行:

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

    Windows:gradlew assembleRelease or assemble(#your_defined_buildtype)

  4. 如果您想进行发布版本(仅限),可以使用 Build > 生成签名的apk 。对于其他构建类型,只有以上三个选项可用。

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

答案 1 :(得分:53)

可以使用任何现有的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

答案 2 :(得分:27)

您可以使用此代码

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

您-机器人应用内/建造/输出/ APK /你的-机器人-APP-release.apk

答案 3 :(得分:2)

我认为这可以帮助您https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/然后从Release

中选择Build Variants

答案 4 :(得分:-2)

构建菜单>生成签名的apk