3

我正在开发一个 android 应用程序,我正在尝试使用一个库 Sliding Menu (github.com/jfeinstein10/SlidingMenu)。但是,我在干净的项目中使用该库时遇到问题。我明白了

java.lang.NoClassDefFoundError: com.slidingmenu.lib.R$styleable

做的时候

SlidingMenu slidingMenu = new SlidingMenu();

测试的配置:JDK 测试 1.6u43、1.7(最新)项目目标 api = 尝试了 Android 4.2.2 和 Google API 17 SDK 版本测试了 21、21.0.1、21.1 Windows 8 Pro x64、Intel Core i7 3610QM、Nvidia GT660M、Samsung Pro 840 256GB SSD 集成了 Actionbarsherlock 和没有它。

我通过从现有代码创建一个 Android 项目来导入库,在 android 属性中标记“Is Library”,然后在原始应用程序的 android 属性中引用它(而不是通过 .jar)

以下链接指向代码片段、完整堆栈跟踪和当前配置的屏幕截图

代码片段: http: //pastebin.com/2yzRC5AJ

完整的堆栈跟踪: http ://pastebin.com/D7RQwuQd

我已经坚持了3天了......:/

4

5 回答 5

3

在消除我的 noclassdef 错误之前,我必须以两种方式添加依赖项

  1. 将 /bin 中的 library.jar 作为依赖项添加到构建路径中,确保选择 Order and Export 选项卡并选中新依赖项的复选框。

  2. 通过鼠标右键单击您的项目添加库,然后是属性,然后是 android,然后添加库

  3. 瓦伊拉

我也为此苦苦挣扎,并从大量的谷歌搜索中设法将其拼凑在一起。

希望能帮助到你..

于 2013-04-29T09:01:28.663 回答
1

简单的解决方案:如果您的项目已经包含支持库,那么只需从库中删除支持库(jfeinstein10 / SlidingMenu),然后一切正常。您也可以在导入后执行此操作。

于 2014-02-03T12:16:01.970 回答
0

1)只需将库添加到项目的属性(ANDROID);
2)并在(JAVA BUILD PATH)的Order & Export属性中标记相同;

于 2014-01-13T20:20:59.687 回答
0

我有同样的问题。由于您正在使用 IDE 构建应用程序,因此您需要告诉IDE该模块是一个Library,因此在 .properties 文件中定义该库是没有用的。尝试更改 IDE 构建文件,我不熟悉 eclipse,但在 android studio 中,这行就足够了:

模块.iml

<configuration>
    <option name="LIBRARY_PROJECT" value="true" />
</configuration>
于 2014-06-18T12:50:30.070 回答
0

转到 Manifast 并将 sdkversion 更改为 11

于 2014-09-24T19:02:59.333 回答