Gradle似乎在我正在处理的项目中丢失了一个构建类型。我可以重新创建一个最小的问题,如下所示。
build.gradle
local.properties
src/main/AndroidManifest.xml
build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:+'
}
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 1
targetSdkVersion 23
}
buildTypes {
debug {
}
release {
}
}
}
local.properties:
sdk.dir=/path/to/android-sdk-linux
如果您有任何问题,请联系我们。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example"/>
我希望Gradle生成任务installDebug
和installRelease
,因为我将debug
和release
定义为buildTypes
。
:tasks
------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------
...
Install tasks
-------------
installDebug - Installs the Debug build.
installDebugAndroidTest - Installs the android (on device) tests for the Debug build.
uninstallAll - Uninstall all applications.
uninstallDebug - Uninstalls the Debug build.
uninstallDebugAndroidTest - Uninstalls the android (on device) tests for the Debug build.
uninstallRelease - Uninstalls the Release build.
Verification tasks
------------------
...
出了什么问题?为什么任务installRelease
不可用?
3条答案
按热度按时间gcmastyq1#
对于发布,首先你需要在根项目中创建
keystore
,并且你需要在build.gradle中提供这些细节。如果需要,您可以创建两个
signingConfigs
调试和发布。最后在
buildTypes
中链接到那个。那么
installRelease
也将在gradle
任务中可用希望这对你有帮助。
wqnecbli2#
对于边缘情况,当你不打算发布应用(例如,测试一个模糊的apk),你可以跳过使用生产密钥签名,做得更简单:
jum4pzuy3#
您可能会发现,生成签名报告以检查是否存在所需的构建变体以及它是否具有所需的签名配置非常有用。
在我的例子中,我得到了这个错误,因为我试图运行一个不同的变体,而不是我实际上打算,我意识到这一点时,看到这个报告