2

我正在尝试在我的项目中实现其他人库。我已经从 GitHub 下载了源代码,从库项目中创建了 .jar,将其导入到示例项目中,并且工作正常,全部调用。

现在,我以相同的方式将相同的 .jar 添加到我的项目中,当我在 XML 中调用该对象时,我得到了这个:

/AndroidRuntime(983): android.view.InflateException: Binary XML file line #12: Error inflating class net.simonvt.widget.NumberPicker

当我尝试从 .jar 文件打开我的项目中的 .xml 时,我无法做到这一点(也许没关系,到目前为止我从未尝试过,所以)。

我在这里阅读了一些解决方案并尝试将我的 .xml 视图更改为:

<view class="net.simonvt.widget.NumberPicker$number_picker"
    android:id="@+id/npAge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

但同样,应用程序崩溃。

问题>

  1. 如果正确构建,.jar 文件是否足够,或者应该以某种方式导入“源”?
  2. 将某人的代码导出/导入到您的项目中的正确方法是什么。我认为创建 .jar 并添加到 libs 文件夹是正确的方法,但现在我不明白这个丢失的 .xml

如您所见,simonvt Number picker 是众所周知的,所以我认为我不是第一个尝试导入它的人。

寻求帮助。

编辑1:好的,似乎无论您将.jar 或链接项目链接为“库”项目,您都必须将某些布局.xml 从库复制到主项目,然后它有点工作,但冻结了应用程序。它显示,然后您可以看到对话框冻结和新的系统对话框弹出消息等待/停止应用程序。

4

3 回答 3

3

我相信您所指的 github 项目需要作为 Android 库项目导入。

基本上,您不能只从库源构建 .jar 文件,因为 Android 构建工具无法看到资源(res/ 目录中的文件)。

您需要做的是将该库作为Android 库项目引用。这很容易做到,只需按照此处的说明进行操作:http: //developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

有关图书馆项目的更多信息,请查看:http: //developer.android.com/tools/projects/index.html

于 2012-09-09T12:47:17.003 回答
1

如果您有库代码的源代码,请将其放在单独的 Android 项目中,并将其指定为库项目(创建项目时有一个复选框可以这样做)。然后通过转到项目的Proprties -> Android,选择添加库(靠近底部)并选择您创建的库项目,将库项目导入您的项目。

于 2012-09-09T12:43:11.040 回答
0

在这里研究和阅读之后,我必须将所有 XML 文件复制到我的项目中。因此,当我复制 XML 时,它解决了这个问题。我必须承认我不明白这一点,因为在示例项目中显然不是这样,但我不再有问题了..

于 2012-09-09T17:06:50.463 回答