我在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?
答案 0 :(得分:93)
根据buildType
,有三种方法可以生成构建。 (在你的情况下,它是发布但它可以命名任何你想要的。)
转到Android Studio右侧面板中的Gradle Task,在模块任务下搜索assembleRelease
或assemble(#your_defined_buildtype)
转到左侧面板中的构建变量,然后从下拉列表中选择构建
转到File Explore中的项目根目录,然后打开cmd / terminal并运行:
Linux:./gradlew assembleRelease or assemble(#your_defined_buildtype)
Windows:gradlew assembleRelease or assemble(#your_defined_buildtype)
如果您想进行发布版本(仅限),可以使用 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