1

我有一小段代码可以在自己的项目中正常工作(它只是一个文件选择对话框)。我想在我更大的项目中使用它,所以我通过执行以下操作将 FileSelector 导出为 jar:

  • 右键单击 FileSelector 项目,然后单击“导出”

  • 选择 Java -> JAR 文件

  • 设置“出口目的地”

  • 点击“完成”

  • 将导出的 .jar 文件复制到 MyProject/libs

  • 右键单击 MyProject -> 刷新

  • 右键单击 MyProject -> 属性

  • 单击“Java 构建路径”

  • 在“库”选项卡中,单击“添加 JAR”并选择我刚刚复制到 MyProject 中的 .jar 文件

我收到错误“生成最终存档时出错:找到 APK 的重复文件:AndroidManifest.xml”,所以我只是从要导出到 jar 的文件列表中取消选择 AndroidManifest.xml 并再次创建它。

MyProject 似乎构建得很好,但是当我运行它并单击应该显示文件选择对话框的按钮时,我得到一个空指针异常。我回去在FileSelection代码中追踪了下来,很简单

mFilterSpinner = (Spinner) mDialog.findViewById(R.id.fileFilter);

那是返回null。在项目设置中是否有什么我没有做的事情可以让这样的调用在 jar 中工作?还是我打包和导入 jar 的程序有问题?

4

2 回答 2

1

类中的值R将被修改。因此,在您的 Jar 中使用已编译的 R 时,您无法找到您的视图。

唯一的解决方案是使用android库项目并通过它引用资源和来源。否则,您可以通过将您的 android 库项目放入 AAR 存档来引用它。

于 2013-09-09T14:36:14.897 回答
0

如果您使用的是 Android UI 组件,我认为您应该在另一个项目中将其用作 Android 库。

于 2013-09-09T14:13:10.547 回答