Android-Things GpsService Not Initilizing



使用 Android Studio 自动生成的 GPS 代码,在 setupGps 期间,NmeaGpsDriver 无法初始化。

日志代码:

2019-03-23 18:19:30.590 2054-2054/com.example.gpsmonitor I/InstantRun: starting instant run server: is main process
2019-03-23 18:19:30.602 2054-2054/com.example.gpsmonitor I/ActivityThread: handleStopService: token=android.os.BinderProxy@1bda8fc not found.
2019-03-23 18:19:30.614 2054-2054/com.example.gpsmonitor D/GpsService: GpsService: onCreate
2019-03-23 18:19:30.614 2054-2054/com.example.gpsmonitor D/GpsService: GpsService: setupGps
2019-03-23 18:19:30.669 2054-2054/com.example.gpsmonitor I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.things.contrib.driver.gps.NmeaGpsModule$1>: java.lang.IncompatibleClassChangeError: Superclass com.google.android.things.pio.UartDeviceCallback of com.google.android.things.contrib.driver.gps.NmeaGpsModule$1 is an interface (declaration of 'com.google.android.things.contrib.driver.gps.NmeaGpsModule$1' appears in /data/app/com.example.gpsmonitor-TvGQRLdwcqrtDMbhjtBn1Q==/split_lib_dependencies_apk.apk)
2019-03-23 18:19:30.670 2054-2054/com.example.gpsmonitor I/zygote:     at void com.google.android.things.contrib.driver.gps.NmeaGpsDriver.<init>(android.content.Context, java.lang.String, int, float, android.os.Handler) (NmeaGpsDriver.java:67)

它几乎完全是Android Studio自动生成的代码,用于带有外围设备的事物,并为Pico-Pi-i.MX7d设置UART6。 所以我想知道我错过了什么。

这是因为 Android Studio 模板正在拉入与您的设备不兼容的旧版本的 GPS 驱动程序。很可能您只需要将build.gradle中的依赖项版本更新到 1.0:

dependencies {
    implementation 'com.google.android.things.contrib:driver-gps:1.0'
    compileOnly 'com.google.android.things:androidthings:1.0'
}

如果这导致任何问题,您还可以查看 GPS 驱动程序示例,该示例是 1.0 驱动程序的最新版本。

最新更新