Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android库-针对库中的布局引发noclassdeffounderror_Android_Eclipse_Android Layout_Jar - Fatal编程技术网

android库-针对库中的布局引发noclassdeffounderror

android库-针对库中的布局引发noclassdeffounderror,android,eclipse,android-layout,jar,Android,Eclipse,Android Layout,Jar,我遇到了以下问题: 1) 我在Eclipse中创建了一个库(“选择了[x]是库”)。它包含两个布局(main.xml和另一个布局) 2) 当我在一个Eclipse工作区中使用它时,它工作得非常好——我可以轻松地将它包含在另一个项目中,并且使用它时不会出现问题 3) 我的工作空间最近变得很大,Eclipse甚至比以前更慢(我正在开发一个Intel Atom“驱动”的上网本)。所以我决定创建一个新的 4) 我已经从它的bin文件夹复制了mylibrary.jar文件,包括新项目中的library.j

我遇到了以下问题:

1) 我在Eclipse中创建了一个库(“选择了[x]是库”)。它包含两个布局(main.xml和另一个布局)

2) 当我在一个Eclipse工作区中使用它时,它工作得非常好——我可以轻松地将它包含在另一个项目中,并且使用它时不会出现问题

3) 我的工作空间最近变得很大,Eclipse甚至比以前更慢(我正在开发一个Intel Atom“驱动”的上网本)。所以我决定创建一个新的

4) 我已经从它的bin文件夹复制了mylibrary.jar文件,包括新项目中的library.jar。一切都会编译,但在运行时,启动时会引发java.lang.NoClassDefFoundError:my.namespace.mylibrary.R$布局

我所做的:

1) 我试图在这里找到stackoverflow的解决方案,但这是我找到的,但我已经添加了jar文件

2) 然后我查看了jar文件(重命名为zip&unpacket)以查看其中不包括R$layout类

如何将布局类包含到library.jar文件中

这真的是我问题的根源还是我做错了什么

谢谢你的建议


编辑:我已经检查并从库中删除xml布局(例如,在代码中创建一个虚拟布局)会停止NoClassDefFoundError。然而,查看admob.jar文件似乎可以将R&layout类包含到jar文件中

要添加库项目,请首先确保您的库项目实际标记为库项目。右键单击项目节点-->属性-->Android-->单击“是库”复选框-->确定


然后在主Android项目中:右键单击项目节点-->属性-->Android-->添加-->选择库项目-->确定-->确定--

似乎唯一的答案是在.java文件而不是.xml文件中创建布局。测试了这个,效果很好。不知道admob如何将他们的布局包含在.jar文件中

我也有同样的问题。问题在于我的衍生活动中的这一行:

setContentView(R.layout.my_layout);

Eclipse已经从我的库项目中导入了R。通过将其更改为导入正确的R解决了问题。

谢谢Damian,我确实知道如何将库标记为正确的库-确切地说是使用“[]is library”项-我已将其标记为正确的库“[x]is library”。对我来说,在一个项目中包括图书馆也不是一个谜。您提出的方法仅在单个Eclipse工作区内有效。我的目标是创建一个新的工作区—工作区中的项目越多,Eclipse的速度就越慢,在工作区中导航的项目越少,就越容易。但我无法做到这一点。同时,我检查了admob.jar,他们设法将R$layout.class放入jar文件中。。。但不清楚怎么做。