带有多种风味的android sign app问题

问题描述

我尝试进行自动应用签名。我已经通过命令生成了密钥:

keytool -genkey -v -keystore app/app_keystore.keystore -alias demo -keyalg RSA -keysize 2048 -validity 10000
keytool -genkey -v -keystore app/app_keystore.keystore -alias release -keyalg RSA -keysize 2048 -validity 10000

我还为我的Android应用准备了build.gradle:

def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
    compileSdkVersion 30
    buildToolsversion "30.0.0"

    signingConfigs {
        demo {
            try {
                keyAlias keystoreProperties['demoAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            } catch (ignored) {
                throw new InvalidUserDataException("Bad credentials")
            }
        }
        release {
            try {
                keyAlias keystoreProperties['releaseAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            } catch (ignored) {
                throw new InvalidUserDataException("Bad credentials")
            }
        }
    }

    defaultConfig {
        applicationId "com.company.app"
        minSdkVersion 26
        targetSdkVersion 30
        versionCode mVersionCode
        versionName mVersionName
        setProperty("archivesBaseName","app_v$versionName")

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    flavorDimensions "server"

    productFlavors {
        demo {
            dimension "server"
            versionName "${mVersionName}.demo"
            signingConfig signingConfigs.demo
        }
        release {
            dimension "server"
            versionName "${mVersionName}.release"
            signingConfig signingConfigs.release
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinoptions {
        jvmTarget = JavaVersion.VERSION_1_8.toString()
    }

}

这些配置应返回带有证书的应用程序,但是当我通过命令检查应用程序证书时:

find . -name "*.apk" -exec echo "APK: {}" \; -exec sh -c 'keytool -printcert -jarfile "{}"' \;

我有 Not a signed jar file。 我通过命令构建应用

./gradlew assembleDemoRelease assembleReleaseRelease

应用似乎没有证书。当我更改属性中的密码时,我会遇到错误-因此会对生成证书进行评估。 请帮助我创建签名的应用程序。谢谢。

Blockquote

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)