Android 科尔多瓦+;工作管理器异常
我选择WorkManager进行定时服务,当基于cordova的应用程序关闭时,该服务将帮助我将数据发布到服务器 因此,我首先在build.gradle(模块:app)中包含依赖项 现在我运行以下命令Android 科尔多瓦+;工作管理器异常,android,cordova,android-workmanager,Android,Cordova,Android Workmanager,我选择WorkManager进行定时服务,当基于cordova的应用程序关闭时,该服务将帮助我将数据发布到服务器 因此,我首先在build.gradle(模块:app)中包含依赖项 现在我运行以下命令 cordova clean cordova build android 我被抛出一个例外: Execution failed for task ':app:transformClassesWithMultidexlistForDebug'. > java.io.IOException: C
cordova clean
cordova build android
我被抛出一个例外:
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> java.io.IOException: Can't write [C:\Users\hjhkjn\Desktop\cordova\hjhkjnad\platforms\android\app\build\intermediates\multi-dex\debug\componentClasses.jar] (Can't read [C:\Users\hjhkjn\Desktop\cordova\hjhkjnad\platforms\android\app\build\intermediates\transforms\desugar\debug\19.jar(;;;;;;**.class)] (Duplicate zip entry [19.jar:android/support/v4/content/PermissionChecker$PermissionResult.class]))
任务的执行失败
“:app:transformDexArchiveWithExternalLibsDexMergerForDebug”
java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并
指数
所以,我加上这一行
android {
defaultConfig {
versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode"))
applicationId privateHelpers.extractStringFromManifest("package")
//THIS LINE HERE
multiDexEnabled true
if (cdvMinSdkVersion != null) {
minSdkVersion cdvMinSdkVersion
}
}
lintOptions {
abortOnError false;
}
compileSdkVersion cdvCompileSdkVersion
buildToolsVersion cdvBuildToolsVersion
我再次运行了clean和build命令。
现在,我得到了一个新的例外:
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> java.io.IOException: Can't write [C:\Users\hjhkjn\Desktop\cordova\hjhkjnad\platforms\android\app\build\intermediates\multi-dex\debug\componentClasses.jar] (Can't read [C:\Users\hjhkjn\Desktop\cordova\hjhkjnad\platforms\android\app\build\intermediates\transforms\desugar\debug\19.jar(;;;;;;**.class)] (Duplicate zip entry [19.jar:android/support/v4/content/PermissionChecker$PermissionResult.class]))
任何帮助都将不胜感激。多谢各位
编辑:
我也有这个错误
对于Cordova,您可能需要一段时间才能编辑生成build.gradle
的文件并在那里启用它。。。为了不安装这个插件,它没有多大用途,但增加了这两行-这只适用于Android,没有其他平台
defaultConfig {
multiDexEnabled true
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
看
基于API level>21的构建也应该可以工作,因为在默认情况下它将被启用。如果有人面临这个问题,请回答我自己的问题 我做了这个问题中提到的事情:
//https://stackoverflow.com/questions/47185549/unable-to-merge-dex-when-using-room
//adding the following to the root level of the Gradle file
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
谢谢你的回复,马丁。不幸的是,这不起作用。我已经用截图更新了我的问题。