【发布时间】:2018-08-28 13:52:44
【问题描述】:
我选择 WorkManager 来制定一项计划服务,当基于 cordova 的应用程序关闭时,该服务将帮助我将数据发布到服务器。
所以,我首先在 build.gradle (Module:app) 中包含依赖项
dependencies {
implementation fileTree(dir: 'libs', include: '*.jar')
//THIS LINE HERE IS FOR WORKMANAGER
implementation "android.arch.work:work-runtime:1.0.0-alpha01"
// SUB-PROJECT DEPENDENCIES START
implementation(project(path: ":CordovaLib"))
compile "com.android.support:support-v4:24.1.1+"
// SUB-PROJECT DEPENDENCIES END
}
现在我运行以下命令
cordova clean
cordova build android
我抛出异常:
任务执行失败 ':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]))
任何帮助将不胜感激。谢谢
【问题讨论】:
标签: android cordova android-workmanager