0

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

  1. 将子标记为库并编译
  2. 将生成的 .jar 放入父项目的 \libs 文件夹中。
  3. 将子项目中使用的所有资源复制到父 \res 文件夹中。
  4. 在 Properties->Java Build Path->libraries 中添加 .JAR 文件。
  5. 从父项目调用 StartActivity 到子项目的活动。

运行父项目后它崩溃。Callstack 说这是 NullPointerException :

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

这意味着布局为空。

我应该提一下,将子项目作为单个项目运行非常有效。

我做错什么了?

4

1 回答 1

1

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

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