我构建了AOSP 5.1.0_r3并导入IntelliJ。并遵循these steps.
但是当我打开例如PackageManagerService.java代码时,它无法编译它的引用外部/ robolectric / lib / main / android.jar / android / os / Process。例如,缺少SHELL_UID:
private static final int SHELL_UID = Process.SHELL_UID;
如果我查看标准的android.jar SHELL_UID it's there。 还有更多像这样的案例。这可能有什么问题?
- - - - >更新2个固定问题:
添加了排除路径,还发现我必须删除项目结构中的依赖项:
在PackageManagerService.java中,它仍然无法解析符号:
- - - - >更新2开放问题:
答案 0 :(得分:2)
这不是我所知道的常见问题,所以我不完全确定为什么你会特别看到这个错误。无论如何,为避免IDE混淆,您可以将external/roboelectric
添加到自定义excluded-paths
文件中,以便Idegen在生成的IDE类路径中忽略它。
如果您还没有其中一个文件,则它会进入AOSP树的顶级目录,并包含要在生成期间排除的目录。您可以看到built-in exclude file for example syntax。
Idegen应该排除所有JAR文件,但它只能对out/
和prebuilts/
中的文件执行此操作。