使用 android studio 构建 MFP Cordova:java.lang.NoClassDefFoundError: org.apache.cordova.Whitelist$URLPat

Posted

技术标签:

【中文标题】使用 android studio 构建 MFP Cordova:java.lang.NoClassDefFoundError: org.apache.cordova.Whitelist$URLPattern【英文标题】:Build MFP Cordova with android studio : java.lang.NoClassDefFoundError: org.apache.cordova.Whitelist$URLPattern 【发布时间】:2016-03-16 13:16:38 【问题描述】:

我有一个 MobileFirst Cordova 项目的问题,当我使用 android studio 构建它时,它可以在 android 版本高于 5.0 的终端上运行,但对于 android 版本

03-16 10:49:29.591 18948-18948/com.ibm.scana E/AndroidRuntime: FATAL EXCEPTION: main
   Process: com.ibm.scana, PID: 18948
   java.lang.NoClassDefFoundError: org.apache.cordova.Whitelist$URLPattern
       at org.apache.cordova.Whitelist.addWhiteListEntry(Whitelist.java:137)
       at org.apache.cordova.ConfigXmlParser.parse(ConfigXmlParser.java:86)
       at org.apache.cordova.ConfigXmlParser.parse(ConfigXmlParser.java:75)
       at org.apache.cordova.CordovaActivity.loadConfig(CordovaActivity.java:236)
       at org.apache.cordova.CordovaActivity.onCreate(CordovaActivity.java:206)
       at com.ibm.scana.CordovaApp.onCreate(CordovaApp.java:18)
       at android.app.Activity.performCreate(Activity.java:5541)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464)
       at android.app.ActivityThread.access$900(ActivityThread.java:172)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:146)
       at android.app.ActivityThread.main(ActivityThread.java:5653)
       at java.lang.reflect.Method.invokeNative(Native Method)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
       at dalvik.system.NativeStart.main(Native Method)

我尝试更改 compileSdkVersion 和 buildToolsVersion 但仍然无法正常工作。

【问题讨论】:

你的安卓版本是什么,抛出这个错误?请提供准确的版本。 你对你的项目做了哪些改动?如:targetSDK、compileSDK、minSDK。另外,您是在进行 Gradle 构建还是 Ant 构建?能否提供复现步骤? 我尝试更改 targetSDK、compileSDK、minSDK,我已经遇到了同样的问题。我的构建是 gradle 构建。 您能否为新应用程序提供复制步骤? 【参考方案1】:

更新:@Idan,是的,我们遵循您电子邮件中的指南。但仍然不起作用。这是我们最终修复它的方法: 1. 在 android 清单文件中添加 android:name="android.support.multidex.MultiDexApplication" 在应用程序选项卡中 2. 在 build.gradle 添加这个 compile 'com.android.support:multidex:1.0 .0'

请注意,这仅适用于 sdk19 的 android 4.4.2

谢谢,祝你有美好的一天

【讨论】:

以上是关于使用 android studio 构建 MFP Cordova:java.lang.NoClassDefFoundError: org.apache.cordova.Whitelist$URLPat的主要内容,如果未能解决你的问题,请参考以下文章

Gradle "com.android.dex.DexException" 构建一个涉及 cordova-plugin-googlemaps 和 ibm-mfp-push 插件的应

MFP Cordova-Ionic 项目的 IOS 构建失败

mfp cli 7.1 for android 平台中的cordova 缺少文件

如何在MFP上使用Office365邮箱账号配置扫描到邮箱之TOSHIBA e-STUDIO2500

我可以将颤振与 IBM MFP Studio 8.0 集成吗

无法在 Android 28 中创建 mfp cordova 项目