use*_*708 8 android gradle android-studio build.gradle android-gradle-plugin
我正在尝试通过 Android Studio > Generate Signed Bundle 或 APK > Android App Bundle > Release 构建发布应用程序
但是 gradle 失败了
: > Task :core:transformClassesWithMergeClassesForRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':core:transformClassesWithMergeClassesForRelease'.
> 1 exception was raised by workers:
java.util.zip.ZipException: duplicate entry: META-INF/app_release.kotlin_module
Run Code Online (Sandbox Code Playgroud)
在我的build.gradle我尝试添加:
packagingOptions {
exclude 'META-INF/app_release.kotlin_module'
}
Run Code Online (Sandbox Code Playgroud)
但它没有任何区别。
我该如何解决?
对于额外的上下文,它是一个多模块项目。
我有一个core模块,以及一个installed在core build.gradlewith 中声明的模块dynamicFeatures = [":installed"]
谢谢
所以我想通了。
我在 Android studio 中按两次 Shift 键(打开到处搜索对话框)并搜索app_release.kotlin_module
我看到两个文件,它们位于我的两个依赖项下(有趣的是,它们是我创建的库!)
我打开了这些库项目,并在build.gradle文件中添加:
ext {
PUBLISH_GROUP_ID = 'com.companyname'
PUBLISH_ARTIFACT_ID = 'packagename'
}
android {
...
compileOptions {
kotlinOptions.freeCompilerArgs += ['-module-name', "$PUBLISH_GROUP_ID.$PUBLISH_ARTIFACT_ID"]
}
}
Run Code Online (Sandbox Code Playgroud)
使用新版本重建库项目,在我的其他项目中使用这些新版本,然后它开始编译:)
| 归档时间: |
|
| 查看次数: |
3280 次 |
| 最近记录: |