我正在尝试生成Signed Android App Bundle,以将其发布到Google Play上,但是在此过程中出现错误。当我尝试生成签名的Android应用程序捆绑包时,发生以下错误。
如果我尝试构建Signed APK,则不会发生此错误。仅在使用Android App Bundle的情况下会发生这种情况。
注意:我将Android Studio 3.6.3更新到版本4.0,并将Gradle构建更新到6.1.1后,发生错误。
这里有一个解决方案:Generate Signed Bundle: Errors while building Bundle file. 'other' has different root
我也尝试过这样的解决方案,即保持密钥库路径和释放目标路径相同,但是一次又一次没有运气。
任何帮助将不胜感激。请提供所有可能的答案。
Executing tasks: [:app:bundleRelease] in project C:\Users\apoor\AndroidStudioProjects\SAID
> 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:createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :app:extractDeepLinksRelease UP-TO-DATE
> Task :app:processReleaseManifest UP-TO-DATE
> Task :app:checkReleaseDuplicateClasses UP-TO-DATE
> Task :app:generateReleaseBuildConfig UP-TO-DATE
> Task :app:javaPreCompileRelease UP-TO-DATE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:processReleaseResources
> Task :app:bundleReleaseResources
> Task :app:compileReleaseJavaWithJavac UP-TO-DATE
> Task :app:dexBuilderRelease UP-TO-DATE
> Task :app:desugarReleaseFileDependencies UP-TO-DATE
> Task :app:mergeExtDexRelease UP-TO-DATE
> Task :app:mergeDexRelease UP-TO-DATE
> Task :app:mergeReleaseShaders UP-TO-DATE
> Task :app:compileReleaseShaders NO-SOURCE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseAssets UP-TO-DATE
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :app:mergeReleaseJavaResource UP-TO-DATE
> Task :app:mergeReleaseJniLibFolders UP-TO-DATE
> Task :app:mergeReleaseNativeLibs UP-TO-DATE
> Task :app:stripReleaseDebugSymbols NO-SOURCE
> Task :app:buildReleasePreBundle
> Task :app:collectReleaseDependencies UP-TO-DATE
> Task :app:configureReleaseDependencies UP-TO-DATE
> Task :app:parseReleaseIntegrityConfig UP-TO-DATE
> Task :app:validateSigningRelease UP-TO-DATE
> Task :app:packageReleaseBundle
> Task :app:signReleaseBundle FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:signReleaseBundle'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> 'other' has different root
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 4s
27 actionable tasks: 5 executed, 22 up-to-date
这是我的应用程序级别的build.gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
applicationId "com.application.said"
minSdkVersion 21
targetSdkVersion 29
multiDexEnabled true
versionCode 1
versionName "1.0"
resConfig "en"
bundle {
language {
enableSplit = false
}
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
//Google Material Design Library
implementation 'com.google.android.material:material:1.2.0-beta01'
//Android Jetpack Navigation
def nav_version = "2.3.0-beta01"
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
//Third Party Libraries
implementation 'com.shreyaspatil:MaterialDialog:2.1'
implementation 'com.airbnb.android:lottie:3.4.0'
implementation 'com.github.hajiyevelnur92:intentanimation:1.0'
implementation "com.github.skydoves:powermenu:2.1.3"
}
将此添加到gradle中,以创建dinvalidate并重新启动缓存。并使用先前的解决方案(在与密钥相同的重复性下生成捆绑包。
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
}
....
}
.....