在得到this问题的解决方案之后,我终于找到了我的crouton库。
我被引导到Maven Central,在那里我下载了Crouton-1.8.4,页面底部的一个列表中有24KB大小的三分之一。然后我将其复制到我的android项目的libs文件夹中,将其添加到build path中,并在order和export面板中选中它。
这就解决了我在之前的问题中所面临的问题。
我试图运行的代码是Crouton.makeText(this, "BAD Crouton", Style.ALERT);
只是为了看看它是否有效。我在4.4.2模拟器上测试。在添加style.builder之后,我也在一个2.2模拟器上进行了尝试,它需要在较低的设备上工作。我也有同样的问题。
但是当我的快乐是短暂的,因为当我在模拟器上测试它时,这里是我在logcat中得到的错误。
01-17 03:15:44.537: E/AndroidRuntime(2203): FATAL EXCEPTION: main
01-17 03:15:44.537: E/AndroidRuntime(2203): Process: com.example.dester, PID: 2203
01-17 03:15:44.537: E/AndroidRuntime(2203): java.lang.NoClassDefFoundError: de.keyboardsurfer.android.widget.crouton.Style
01-17 03:15:44.537: E/AndroidRuntime(2203): at com.example.dester.MainActivity.onCreate(MainActivity.java:17)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.app.Activity.performCreate(Activity.java:5231)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.app.ActivityThread.access$800(ActivityThread.java:135)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.os.Handler.dispatchMessage(Handler.java:102)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.os.Looper.loop(Looper.java:136)
01-17 03:15:44.537: E/AndroidRuntime(2203): at android.app.ActivityThread.main(ActivityThread.java:5017)
01-17 03:15:44.537: E/AndroidRuntime(2203): at java.lang.reflect.Method.invokeNative(Native Method)
01-17 03:15:44.537: E/AndroidRuntime(2203): at java.lang.reflect.Method.invoke(Method.java:515)
01-17 03:15:44.537: E/AndroidRuntime(2203): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
01-17 03:15:44.537: E/AndroidRuntime(2203): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
01-17 03:15:44.537: E/AndroidRuntime(2203): at dalvik.system.NativeStart.main(Native Method)
当我第一次得到错误的时候,我认为它一定是一些简单的东西,所以我再次清理和重建它,仍然得到同样的错误。然后我搜索
java.lang.NoClassDefFoundError
上的信息,发现这与vm没有找到要求加载的类有关。在这种情况下,这将是样式类。我花了将近24个小时来解决这个问题,并且尝试了很多解决方案,但都没有成功。
仅在ICASE中,我的Java编译器遵从级别为1.6,而我使用JRe6
谢谢
最佳答案
如果您不需要Crouton 1.8.2中的任何新功能,请尝试1.8.1(https://github.com/keyboardsurfer/Crouton/wiki/Changelog)。我也有同样的问题,但是当我使用1.8.1时,一切都正常。我也一直在努力解决这个问题,但还没有找到解决办法。我想知道它是否与现在使用Java 1.7的事实有关…