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