首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android bundleRelease没有签署aab

android bundleRelease没有签署aab
EN

Stack Overflow用户
提问于 2019-06-08 16:18:00
回答 5查看 9.9K关注 0票数 11

我已经写了一个Android应用程序,但发布过程的最后一步仍然让我摸不着头脑。我假设当我运行gradle bundleRelease时,它会生成我可以上传到play商店的aab文件。但是玩具店说捆绑包没有签名。然而,构建过程说它正在签名:

代码语言:javascript
复制
> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:generateReleaseResValues UP-TO-DATE
> Task :app:generateReleaseResources UP-TO-DATE
> Task :app:mergeReleaseResources UP-TO-DATE
> Task :app:checkReleaseManifest UP-TO-DATE
> Task :app:createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :app:mainApkListPersistenceRelease UP-TO-DATE
> Task :app:processReleaseManifest UP-TO-DATE
> Task :app:bundleReleaseResources UP-TO-DATE
> Task :app:checkReleaseDuplicateClasses UP-TO-DATE
> Task :app:mergeExtDexRelease UP-TO-DATE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:generateReleaseBuildConfig UP-TO-DATE
> Task :app:prepareLintJar UP-TO-DATE
> Task :app:generateReleaseSources UP-TO-DATE
> Task :app:javaPreCompileRelease UP-TO-DATE
> Task :app:processReleaseResources UP-TO-DATE
> Task :app:compileReleaseJavaWithJavac UP-TO-DATE
> Task :app:transformClassesWithDexBuilderForRelease UP-TO-DATE
> Task :app:mergeDexRelease UP-TO-DATE
> Task :app:mergeReleaseShaders UP-TO-DATE
> Task :app:compileReleaseShaders UP-TO-DATE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseJniLibFolders UP-TO-DATE
> Task :app:transformNativeLibsWithMergeJniLibsForRelease UP-TO-DATE
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :app:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
> Task :app:buildReleasePreBundle UP-TO-DATE
> Task :app:collectReleaseDependencies UP-TO-DATE
> Task :app:configureReleaseDependencies UP-TO-DATE
> Task :app:packageReleaseBundle UP-TO-DATE
> Task :app:signingConfigWriterRelease UP-TO-DATE
> Task :app:signReleaseBundle
> Task :app:bundleRelease

gradle构建脚本中有一个签名部分:

代码语言:javascript
复制
android {
    ...
    signingConfigs {
        release {
            storeFile file(...)
            storePassword '...' 
            keyAlias '...'
            keyPassword '...'
        }
    }

如果在运行构建之前删除所有aab文件,则会在

代码语言:javascript
复制
..\app\build\outputs\bundle\release

看起来一切正常,除了play商店不接受aab:

代码语言:javascript
复制
The Android App Bundle was not signed.

如何构建可发布的aab?

EN

回答 5

Stack Overflow用户

发布于 2019-11-04 01:15:06

如果有人仍在寻找解决方案,请将release config中的debuggable设置为false。你的应用程序构建gradle文件应该包含以下内容-

代码语言:javascript
复制
buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
            debuggable = false
        }
    }
票数 11
EN

Stack Overflow用户

发布于 2019-06-09 16:54:30

似乎我在这里找到了解决方案How to create a release signed apk file using Gradle?,显然在buildType中需要一个signingConfig条目。下面是块添加后在我的构建文件中的样子。

代码语言:javascript
复制
android {
    ...
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
}

这是不是很奇怪,我期望它已经在那里?由于我既不是IntelliJ的粉丝,也不是Gradle的粉丝,我会将我对整个构建和发布过程的感受归因于对工具链缺乏经验。重要的是,应用程序在play商店中。

票数 5
EN

Stack Overflow用户

发布于 2020-01-24 16:25:52

您可以使用./gradlew :app:bundleRelease而不是./gradlew bundleRelease

这对我很有效!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56504709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档