繁体   English   中英

如何修复gradle:没有签名

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM