在 Android 项目中导入 .jar 会导致 Binary XML 文件行错误
Posted
技术标签:
【中文标题】在 Android 项目中导入 .jar 会导致 Binary XML 文件行错误【英文标题】:Importing .jar in Android project causes Binary XML file line Error 【发布时间】:2012-09-09 12:24:16 【问题描述】:我正在尝试在我的项目中实现其他人库。我已经从 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_
android:layout_ />
但同样,应用程序崩溃。
问题>
-
如果构建得当,.jar 文件是否足够,或者是否应该以某种方式导入“源”?
将某人的代码导出/导入到您的项目中的正确方法是什么。我认为创建 .jar 并添加到 libs 文件夹是正确的方法,但现在我不明白这个丢失的 .xml
正如您所见,simonvt 号码选择器是众所周知的,所以我认为我不是第一个尝试导入它的人。
Tnx 寻求帮助。
编辑 1: 好的,似乎无论您将 .jar 或链接项目链接为“库”项目,您都必须将某些布局 .xml 从库复制到主项目,然后它有点工作,但冻结了应用程序。它显示,然后您可以看到对话框冻结和新的系统对话框弹出消息等待/停止应用程序。
【问题讨论】:
【参考方案1】:我认为您所指的 github 项目需要作为 Android 库项目导入。
基本上,您不能只从库源构建 .jar 文件,因为 Android 构建工具无法看到资源(res/ 目录中的文件)。
您需要做的是将该库作为Android 库项目 进行引用。这很容易做到,只需按照此处的说明进行操作:http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject
有关图书馆项目的更多信息,请查看:http://developer.android.com/tools/projects/index.html
【讨论】:
Tnx 链接。我这样做了,所以我现在使用链接库项目,但问题仍然存在相同的错误。我不明白。 这个链接很有帮助,你的解释也很有帮助。谢谢你。事实上,将库引用为 Android 库项目是朝着正确方向迈出的一步。【参考方案2】:如果您有库代码的源代码,请将其放在单独的 Android 项目中,并将其指定为库项目(创建项目时有一个复选框可以这样做)。然后通过转到项目的属性 -> Android,选择添加库(靠近底部)并选择您创建的库项目,将库项目导入您的项目。
【讨论】:
【参考方案3】:在这里研究和阅读之后,我必须将所有 XML 文件复制到我的项目中。因此,当我复制 XML 时,它解决了这个问题。我必须承认我不明白这一点,因为在示例项目中显然不是这样,但我不再有问题了..
【讨论】:
以上是关于在 Android 项目中导入 .jar 会导致 Binary XML 文件行错误的主要内容,如果未能解决你的问题,请参考以下文章
在 React Native 的非根文件中导入 firebase 会导致 Android 模拟器出错
androidstudio中导入的jar包没有主清单属性怎么办
androidstudio中导入的jar包没有主清单属性怎么办