在 android 上使用 weka 库时出错(想要在 Android 应用程序中实施机器学习)

Error on using weka library on android (Want to Implement Machine Learning in an Android Application)

为了在 Android 应用程序中实施机器学习,我正在使用 'WEKA Tool',我已将其包含在项目 'libs' 中,并从 'gradle' 编译它项目。

但是当 运行 在 phone 上调用该函数进行分类时(调用 'RandomForest Classifier'),我的应用程序崩溃了。

我收到这个 'Runtime Error'。谁能帮帮我?

   Unable to create WEKA_HOME (/wekafiles)
   Unable to create packages directory (/wekafiles/packages)
   Unable to create repository cache directory (/wekafiles/repCache)
   D/AndroidRuntime: Shutting down VM
   E/AndroidRuntime: FATAL EXCEPTION: main
          Process: com.example.weirdmyth.testapp, PID: 31474
          java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/GraphicsEnvironment;
               at weka.core.packageManagement.PackageManager.setProxyAuthentication(PackageManager.java:191)
               at weka.core.WekaPackageManager.establishWekaHome(WekaPackageManager.java:377)
               at weka.core.WekaPackageManager.<clinit>(WekaPackageManager.java:162)
               at weka.core.Utils.readProperties(Utils.java:174)
               at weka.core.Capabilities.<init>(Capabilities.java:275)
               at weka.classifiers.AbstractClassifier.getCapabilities(AbstractClassifier.java:508)
               at weka.classifiers.trees.RandomTree.getCapabilities(RandomTree.java:602)
               at weka.classifiers.trees.RandomForest.getCapabilities(RandomForest.java:182)
               at weka.classifiers.meta.Bagging.buildClassifier(Bagging.java:701)
               at com.example.weirdmyth.testapp.MainActivity.showExtractData(MainActivity.java:68)
               at com.example.weirdmyth.testapp.MainActivity.access[=12=]0(MainActivity.java:18)
               at com.example.weirdmyth.testapp.MainActivity.onClick(MainActivity.java:35)
               at android.view.View.performClick(View.java:4794)
               at android.view.View$PerformClick.run(View.java:19905)
               at android.os.Handler.handleCallback(Handler.java:739)
               at android.os.Handler.dispatchMessage(Handler.java:95)
               at android.os.Looper.loop(Looper.java:139)
               at android.app.ActivityThread.main(ActivityThread.java:5298)
               at java.lang.reflect.Method.invoke(Native Method)
               at java.lang.reflect.Method.invoke(Method.java:372)
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950)
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
         Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.GraphicsEnvironment" on path: DexPathList[[dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-weka_24a0e957b7a2bd7b1eca884c1d1fe17134d04e02-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-support-annotations-24.2.0_1d91a870686be0d9b2c0cad6f095599608f8ea8b-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-internal_impl-24.2.0_e60a43d4d67966d22f555860d8f3ea89bf40a00d-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-internal_impl-24.2.0_bab1238d93c9b1e214aa74253243e0e0a1179d1b-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-internal_impl-24.2.0_ac3ce21dd47241b373379a2a2250d916ddec89f2-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-internal_impl-24.2.0_86622e6ad735878a3262fd8fb6bc9c316447f2bd-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-internal_impl-24.2.0_024d25ee6599778d6213941fb989deeaa23d0a37-classes.dex", dex file "/data/data/com.example.weirdmyth.testapp/files/instant-run/dex/slice-com.android.support-support-vector-drawable-24.2.0_a300254740b0ce696848c36d6b2c7e26898aba9c-classes.dex", dex file "/data/data/com.example

试试这个:https://github.com/rjmarsan/Weka-for-Android

正如作者所说:并没有承诺 100% 的功能。不过总比没有好吧。