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 是否已更改。
我的应用程序在更新到最新的 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 是否已更改。