Android:有没有办法在没有签名的情况下生成我的应用的“.aab”文件?

Android: Is there a way to generate an ".aab" file of my app without signature?

提问人:Mohamed Jihed Jaouadi 提问时间:8/31/2021 最后编辑:Mohamed Jihed Jaouadi 更新时间:11/9/2022 访问量:1874

问:

我尝试了传统的没有签名的应用程序捆绑包(.aab),就像我们使用 android studio 菜单选项对“.apk”所做的那样:构建>>构建捆绑包/Apk(s)>>构建捆绑包

通常,它应该生成一个“.aab”文件,并且文件名应包含前缀“unsigned”,就像以相同方式生成的“.apk”文件中一样,但它不存在。

当我将这个 .aab 文件交付给我的客户时,他对我说该文件已签名。

我的 Gradle 文件:

android {

    compileSdkVersion compile_sdk_version
    buildToolsVersion build_tools_version

    defaultConfig {

        applicationId "com.**"

        minSdkVersion min_sdk_version
        targetSdkVersion compile_sdk_version

        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true

        renderscriptTargetApi min_sdk_version
        renderscriptSupportModeEnabled true

        dexOptions {
            javaMaxHeapSize "4g"
        }
    }

    kapt {
        correctErrorTypes true
    }

    flavorDimensions "default"

    productFlavors {

        production {
            dimension 'default'
            versionCode rootProject.ext.version_code_production
            versionName rootProject.ext.version_name_production
        }

        stagging {
            dimension 'default'
            versionCode rootProject.ext.version_code_stagging
            versionName rootProject.ext.version_name_stagging
        }
    }

    buildTypes {

        release {

            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }

        debug {       
            applicationIdSuffix ".debug"
        }

        qualif {    
            applicationIdSuffix ".re7"
        }
    }

    compileOptions {

        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true

        // Sets Java compatibility to Java 11
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_11.toString()
    }

    buildFeatures {
        dataBinding true
        viewBinding true
    }
}

dependencies {
  ..
}
}

我应该如何生成一个没有签名的?

注意:在gradle中,我删除了每个签名声明。

安卓 android-studio android-gradle-plugin apk android-app-bundle

评论

0赞 DevWithZachary 8/31/2021
您的 gradle 构建文件是什么样的?
0赞 CommonsWare 8/31/2021
您可能需要使用 Gradle 或直接使用:developer.android.com/studio/build/...bundletool
0赞 Mohamed Jihed Jaouadi 8/31/2021
@CommonsWare我试过了,但由于某种原因它强制使用默认签名,所以我不知道它是否已签名。
0赞 Mohamed Jihed Jaouadi 8/31/2021
@DevWithZachary 我包含了 gradle 文件!
1赞 Zhanbolat Raimbekov 11/9/2022
未签名的文件不会使用任何密钥进行签名。这就是为什么它们被称为无符号的原因

答:

-1赞 Zhanbolat Raimbekov 11/9/2022 #1

gradlew bundleRelease

确保 in build type 被注释掉signingConfigrelease