目前我正在尝试学习Gradle来构建Android APK。如何在gradle中设置一个选项来构建一个未签名的APK?
答案 0 :(得分:69)
您不必设置任何选项,只需运行常规任务:
$ gradle assemble
这将在project / build / apk /
中生成两个文件app-debug-unaligned.apk
app-release-unsigned.apk
答案 1 :(得分:17)
要生成未签名的apk,请执行以下操作:
使用如下所示的空配置定义signingConfig
:
signingConfigs{
unsigned{
storePassword = ""
keyAlias = ""
keyPassword = ""
}
}
在buildTypes
中为您的发布版本定义未签名的配置:
buildTypes{
release{
signingConfig signingConfigs.unsigned
}
}
我从adt-dev group得到这个,Xavier Ducrohet写道:
目前的行为是检查签名配置是否完全 配置(*),如果是,它生成一个签名的APK,否则一个 未签名的APK。
(*)现在完全配置意味着的值 存储,别名和密码存在,但不包括 密钥库存在。
更新2013-12-19
正如没有提到的那样,这不适用于gradle插件版本0.6.3。
无论如何,可以使用gradle生成一个未签名的APK:只需将flavor或buildType的signingConfig条目留空即可。它应该是这样的:
productFlavors{
// with this config you should get a "MyProject-flavorUnsigned-release-unsigned.apk"
flavorUnsigned{
versionCode = 9
packageName defaultPkgName
}
}
buildTypes{
// with this config you should get a "MyProject-release-unsigned.apk"
release{
packageNameSuffix '.release'
}
}
答案 2 :(得分:7)
只需为signedConfig
指定nullandroid {
…
defaultConfig {
…
testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
}
…
}
dependencies {
// Required -- JUnit 4 framework
testCompile 'junit:junit:4.12'
// Optional -- Mockito framework
testCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.android.support:support-annotations:23.2.0'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4.1'
// Optional -- Hamcrest library
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
// Optional -- UI testing with Espresso
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
// Optional -- UI testing with UI Automator
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
}
答案 3 :(得分:0)
如果要使未签名的构建类型行为(就像调试构建一样),请执行以下操作:
add = ("INSERT INTO server_stats_servers (Owner, ServerID, MessageID, "
"Channel, ServerIP, ServerPort, ServerName, DiscordName, `Key`) "
"VALUES (%(Owner)s, %(ServerID)s, %(MessageID)s, %(Channel)s, "
"%(ServerIP)s, %(ServerPort)s, %(ServerName)s, %(DiscordName)s, %(Key)s)")