【问题标题】:Attempt to invoke interface method 'boolean com.google.common.util.concurrent.ListenableFuture.cancel(boolean)' on a null object reference尝试在空对象引用上调用接口方法“boolean com.google.common.util.concurrent.ListenableFuture.cancel(boolean)”
【发布时间】:2021-07-06 13:19:39
【问题描述】:

我正在尝试弄清楚如何从 Wear OS 上的健康服务获取传感器数据。

我正在尝试在 Emulator for Wear OS API 30 上运行来自 official guide 的示例 (Passive Data Sample)(他在 Beta Android Studio Arctic Fox 中可用),但我收到此错误:

2021-07-02 16:55:54.041 7172-7200/com.example.passivedata E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1
Process: com.example.passivedata, PID: 7172
java.lang.NullPointerException: Attempt to invoke interface method 'boolean com.google.common.util.concurrent.ListenableFuture.cancel(boolean)' on a null object reference
    at android.os.Parcel.createExceptionOrNull(Parcel.java:2392)
    at android.os.Parcel.createException(Parcel.java:2370)
    at android.os.Parcel.readException(Parcel.java:2353)
    at android.os.Parcel.readException(Parcel.java:2295)
    at androidx.health.services.client.impl.IPassiveMonitoringApiService$Stub$Proxy.registerDataCallback(IPassiveMonitoringApiService.java:318)
    at androidx.health.services.client.impl.ServiceBackedPassiveMonitoringClient$registerDataCallbackInternal$serviceOperation$1.execute(ServiceBackedPassiveMonitoringClient.kt:122)
    at androidx.health.services.client.impl.ipc.Client$3.execute(Client.java:222)
    at androidx.health.services.client.impl.ipc.internal.ServiceConnection.execute(ServiceConnection.java:243)
    at androidx.health.services.client.impl.ipc.internal.ServiceConnection.enqueue(ServiceConnection.java:200)
    at androidx.health.services.client.impl.ipc.internal.ConnectionManager.handleMessage(ConnectionManager.java:123)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:223)
    at android.os.HandlerThread.run(HandlerThread.java:67)

有人遇到过类似的问题吗?

【问题讨论】:

  • 你能解决这个问题吗?
  • 存储库已经有 an issue 报告了这个问题。
  • @KelvinSchoofs 是的,是我。但是没有一个cmets(
  • 我已经尝试过了,但在 API 30 上运行“被动数据示例”时没有问题

标签: android kotlin wear-os


【解决方案1】:

在您的 android/app/build.gradle 文件中将 enableHermes 从 false 更改为 true

project.ext.react = [
    enableHermes: true
]

在 android/app/src/main/java/com/yourProjectName/MainApplication.java 中添加这些行

import com.facebook.react.bridge.JSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;

@Override
protected JSIModulePackage getJSIModulePackage() {
    return new ReanimatedJSIModulePackage();
}
//if this is not exist then also add this
@Override
protected String getJSMainModuleName() {
    return "index";
}

并重建项目

【讨论】:

    【解决方案2】:

    你只需要更新这个包

    react-native-reanimated

    npm i react-native-reanimated@2.2.4
    

    安装此版本的软件包后,只需重新启动您的模拟器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2018-02-05
      • 1970-01-01
      • 2018-07-24
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多