Android源代码编译问题

Android Source Code Compilation issue

我正在开发一个 C++ 应用程序,我需要在其中与 Android 源代码交互,我从下面 URL

获得了这个源代码

https://github.com/android

现在,当我编译使用相机模块的应用程序时,它有许多依赖项,例如 utils、binder、gui、system。通过这种方式,我包含了 Android 的相机模块所依赖的每个头文件。

但我遇到了以下错误:

In file included from jni/headers/camera/ICamera.h:22:0,
             from jni/headers/MyCamera.h:4,
             from jni/headers/VideoWrapper.h:4,
             from jni/src/com_example_jnitest_VideoJava.cpp:2
jni/headers/binder/Parcel.h:31:7: error: template argument
required for 'class Flattenable'
class Flattenable;
   ^
jni/headers/binder/Parcel.h:105:37: error: invalid use of 

template-name 'android::Flattenable' without an argument list
 status_t            write(const Flattenable& val);
                                 ^
jni/headers/binder/Parcel.h:160:30: error: 'Flattenable' is not a type
 status_t            read(F

我的问题是:如何摆脱这个错误?

每当任何 class 模板需要在另一个 class 或任何地方预先声明时,我们需要给它模板

例如: 在 Android 源文件的 Parcel.h 文件中,class Flattenable 的预声明如下:

class Flattenable;

但实际上应该是:

template <typename T> class Flattenable;

因为 class Flattenable 是模板 class。 但是我很惊讶这些东西没有被处理到 Android 源代码中..!!