[英]How to fix gradle: No signature
我有一个 android 项目导致方法没有签名,经过一些研究,这似乎来自
android {
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
compileSdkVersion 30
buildToolsVersion '31.0.0'
defaultConfig {
applicationId 'ch.workouttracker'
minSdkVersion 24
targetSdkVersion 30
versionCode 0.901
versionName '0.9.0.1'
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
resConfigs "de" // And any other languages you support
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions{
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE-FIREBASE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/DEPENDENCIES'
}
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
productFlavors {
}
compileOptions {
sourceCompatibility VERSION_11
targetCompatibility VERSION_11
}
}
此配置有什么问题或缺失? 我想这主要是版本的问题,因为我改变了它们
我认为问题出在 Gradle 文件中的 VersionCode 上。 你有这个:
versionCode 0.901
versionName '0.9.0.1'
问题是 versionCode 只能是正整数,而不是带小数位的数字。 这来自文档
versionCode — 用作内部版本号的正整数。 此数字仅用于确定一个版本是否比另一个版本更新,数字越大表示版本越新。 这不是向用户显示的版本号; 该数字由下面的 versionName 设置设置。 Android 系统使用 versionCode 值来防止用户安装版本代码低于其设备上当前安装的版本的 APK,从而防止降级。
所以只需将其更改为 1。您可以更改您的 versionName,但每个未来版本的 versionCode 都会有 +1。 所以 versionCode 将是 2 和 versionName '0.9.0.2' 等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.