来自JAR文件的startActivity时出现NullPointerException

时间:2013-11-05 17:26:43

标签: java android eclipse jar

我有一个必须包含在父项目中的子项目。 我做了什么:

  1. 将子标记为库并编译
  2. 结果.jar并将其放在父级的\ libs文件夹中 项目
  3. 复制父\ res文件夹中子项目中使用的所有res。
  4. 在Properties-> Java Build Path-> libraries中添加.JAR文件。
  5. 从父项目调用StartActivity到来自child的活动 项目
  6. 运行父项目后,它崩溃了。 Callstack说这是NullPointerException:

    final LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
    layout .setOnClickListener(this);
    

    这意味着布局为空。

    我应该提到将子项目作为一个单独的项目运行完美。

    我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果“child”项目依赖于资源文件,则不能使用.jar文件。您需要将项目导入为库(带源代码)。

  1. 将您的子项目(所有源代码+资源)复制到您的父项目libs / your_child_project_name / directory
  2. 设置构建系统(Gradle或Ant)以使用第三方库
  3. 检查依赖项冲突(即子级和父级都使用android支持.Jar文件,在这种情况下删除子项目中的那个并使用父项目中的那个)
  4. 重建您的父项目
  5. 现在您可以从子项目中导入