我正在尝试编写一个系统更新程序,它使用Android 7的UpdateEngine.但是,我似乎无法从我的java代码访问它,因为该类及其方法标有@SystemApi.
我将我的应用程序集成到AOSP树中,但是我无法从我的应用程序目录开始成功编译:当我在app目录中运行mm时,我直接得到以下错误:
The import android.os.UpdateEngine cannot be resolved
如果我只是将import语句添加到已经存在的aosp系统应用程序,例如,也会发生这种情况.
从应用程序使用UpdateEngine(或实际上任何其他@SystemApi)的正确方法是什么?我不想通过删除所有SystemApi和中断兼容性来更改android api.
最佳答案
当然,我在发布问题后立即找到解决方案……
万一其他人将来偶然发现这个问题 – 问题是我在Android.mk中定义了以下SDK版本:
LOCAL_SDK_VERSION := current
更改sdk版本后,系统API(以及UpdateEngine)可以访问,如下所示:
LOCAL_SDK_VERSION := system_current