Android 事物上的 IllegalAccessError

IllegalAccessError on Android Things

我的应用程序在更新到最新的 Android 事物后抛出 IllegalAccessError 预习。我有以下代码来检查 OTA 更新:

UpdateManager manager = new UpdateManager();
manager.performUpdateNow(UpdateManager.POLICY_CHECKS_ONLY);

当我 运行 此代码时,我得到以下错误输出:

java.lang.IllegalAccessError: Method 'void com.google.android.things.update.UpdateManager.<init>()' is inaccessible to class 'com.example.android.things.screensettings.MainActivity' (...)

此代码之前可以正常工作,为什么更新后开始出现这种情况?

从预览版 7 开始,Android 事物 API 服务不再构建为新的 实例。它们通过 getInstance() 作为单例访问 更符合 Android API 范式。

请务必更新您的应用以使用 Preview 7 SDK:

dependencies {
    compileOnly 'com.google.android.things:androidthings:0.7-devpreview'
}

然后修改您的代码以使用 getInstance() 代替:

UpdateManager manager = UpdateManager.getInstance();
manager.performUpdateNow(UpdateManager.POLICY_CHECKS_ONLY);

回顾 Android 事情 API reference 验证您呼叫的其他 API 是否已更改。