[AOSP][Android-8.0]surface.aidl 从 frameworks/base 移动到 frameworks/native
[AOSP][Android-8.0]surface.aidl moved from frameworks/base to frameworks/native
在 AOSP (8.0) 源代码中,我发现 Surface.aidl
从 frameworks/base/core/java/android/view/Surface.aidl
移动到了 frameworks/native/aidl/gui/android/view/Surface.aidl
。
实际上问题是我的应用程序 AIDL 需要使用 Surface class。
下面是代码片段
import android.view.Surface;
interface sampleService {
void setSurface(in Surface sampleSurface);
}
在构建我的应用程序 AIDL 期间无法解析 Surface class。但是如果我在 frameworks/base/core/java/android/view/
中添加 Surface.aidl
class 那么我的 AIDL 编译成功并且 运行 没有错误。
现在我的问题是 frameworks/base/Android.mk
包括 frameworks/native/aidl/gui/android/view/Surface.aidl
但我的 AIDL 仍然无法导入 Surface class。
我无法找出问题所在。请帮我想办法。
您需要在您的应用程序包中使用如下路径创建虚拟 Surface.aidl 文件。
src/main/aidl/android/view/Surface.aidl
在 Surface.aidl 中放入以下代码。由于 Surface 的 parcelabel class 在 frameworks/base/core/java/android/view.
中可用
package android.view;
parcelable Surface;
在您的 sampleService 接口中导入 Surface,如下所示。
import android.view.Surface;
只需添加内部 Android.mk 及其工作方式
LOCAL_AIDL_INCLUDES += \
frameworks/native/aidl/gui
在 AOSP (8.0) 源代码中,我发现 Surface.aidl
从 frameworks/base/core/java/android/view/Surface.aidl
移动到了 frameworks/native/aidl/gui/android/view/Surface.aidl
。
实际上问题是我的应用程序 AIDL 需要使用 Surface class。
下面是代码片段
import android.view.Surface;
interface sampleService {
void setSurface(in Surface sampleSurface);
}
在构建我的应用程序 AIDL 期间无法解析 Surface class。但是如果我在 frameworks/base/core/java/android/view/
中添加 Surface.aidl
class 那么我的 AIDL 编译成功并且 运行 没有错误。
现在我的问题是 frameworks/base/Android.mk
包括 frameworks/native/aidl/gui/android/view/Surface.aidl
但我的 AIDL 仍然无法导入 Surface class。
我无法找出问题所在。请帮我想办法。
您需要在您的应用程序包中使用如下路径创建虚拟 Surface.aidl 文件。
src/main/aidl/android/view/Surface.aidl
在 Surface.aidl 中放入以下代码。由于 Surface 的 parcelabel class 在 frameworks/base/core/java/android/view.
中可用package android.view;
parcelable Surface;
在您的 sampleService 接口中导入 Surface,如下所示。
import android.view.Surface;
只需添加内部 Android.mk 及其工作方式
LOCAL_AIDL_INCLUDES += \
frameworks/native/aidl/gui