我过去两周一直在处理这个问题。我正在用Ionic3构建一个应用程序。一切正常,直到我安装phonegap推送插件。然后我开始得到这个错误
Execution failed for task ':app:transformClassesWithDexBuilderForDebug'. > com.android.build.api.transform.TransformException: java.lang.IllegalStateExce ption: Dex archives: setting .DEX extension only for .CLASS files
我已对此进行了研究,但这些解决方案似乎都不适用于我。我在下面做了app level build.gradle
defaultConfig {
multiDexEnabled true
}
我还在下面添加了代码
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
然后我开始低于错误
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> java.io.IOException: Can't write
[C:\ionic\brinmiz\platforms\android\app\build
\intermediates\multi-dex\debug\componentClasses.jar] (Can't read
[C:\ionic\brinmiz\platforms\android\app\build\intermediates\transforms\desugar\debug\17.jar(;;;;;;**.class)] (Duplicate zip entry [17.jar:android/support/v4/media/RatingCompat$1.class]))
这是我的离子信息
cli包:
@ionic/cli-utils : 1.19.1
ionic (Ionic CLI) : 3.19.1
全球套餐:
cordova (Cordova CLI) : 8.0.0
本地包裹:
@ionic/app-scripts : 3.1.8
Cordova Platforms : android 7.0.0 ios 4.5.4
Ionic Framework : ionic-angular 3.9.2
系统:
Android SDK Tools : 26.0.2
Node : v6.10.2
npm : 3.10.10
OS : Windows 8
环境变量:
ANDROID_HOME : C:\Users\Dd\AppData\Local\Android\sdk
其他:
backend : legacy
就像我说的那样,过去两周我一直在这。我真的需要你的解决方案
答案 0 :(得分:0)
根据Push Plugin的官方文档所解释的Firebase,Push Plugin和另一个插件“已经使用过时的方式来声明依赖关系,例如 android-support 或 play-services-gcm “。
您可以尝试安装 cordova-android-support-gradle-release ,以便将其他插件指定的各种版本的Android支持库与特定版本对齐。
cordova plugin add cordova-android-support-gradle-release --fetch
此外,您可以尝试将 cordova-android 从7.0.0降级到6.3.0,因为7.x +也存在已知问题。删除你的插件文件夹(确保你在config.xml中声明了所有这些文件夹)并运行:
cordova platforms rm android
cordova platforms add android@6.3.0
如果没有任何工作,请使用下一个命令使用应用程序使用的所有插件更新您的答案,我将尝试为您调试。
cordova plugin ls