2

I am developing an Android app to receive data from a smartwatch and upload them to remote server via Internet. The app works fine on Android 4.2.2 and 4.1.2 (currently tested on these two version) but it doesn't work on Android 4.3 (tested on two different 4.3 phones). The logcat result is as below.

12-23 18:13:24.560: D/dalvikvm(18980): Late-enabling CheckJNI
12-23 18:13:27.040: D/dalvikvm(18980): GC_FOR_ALLOC freed 51K, 11% free 9447K/10576K, paused 188ms, total 188ms
12-23 18:13:27.040: I/dalvikvm-heap(18980): Grow heap (frag case) to 11.294MB for 1067024-byte allocation
12-23 18:13:27.055: D/dalvikvm(18980): GC_FOR_ALLOC freed <1K, 10% free 10489K/11620K, paused 16ms, total 16ms
12-23 18:13:29.135: D/SensorManager(18980): registerListener :: create queue :: handler = 0, name = LSM330DLC 3-axis Accelerometer, delay = 66667, 
12-23 18:13:30.160: D/libEGL(18980): loaded /system/lib/egl/libEGL_mali.so
12-23 18:13:30.180: D/libEGL(18980): loaded /system/lib/egl/libGLESv1_CM_mali.so
12-23 18:13:30.185: D/libEGL(18980): loaded /system/lib/egl/libGLESv2_mali.so
12-23 18:13:30.190: E/(18980): Device driver API match
12-23 18:13:30.190: E/(18980): Device driver API version: 23
12-23 18:13:30.190: E/(18980): User space API version: 23 
12-23 18:13:30.190: E/(18980): mali: REVISION=Linux-r3p2-01rel3 BUILD_DATE=Wed Oct  9 21:05:57 KST 2013 

I have searched for a while but no useful solution found. I got three question about this issue in the forum: Device driver API match error; Android 4.3 Device driver API Match error; Android Error: Device driver API match but no solutions. I have tried to change the targetSDKVersion lower or higher, but still doesn't work.

Any suggestions? Thanks.

Community
  • 1
  • 1
Zheng Xiaochen
  • 643
  • 5
  • 8

1 Answers1

0

Finally I solved this problem. There are mainly two causes: 1) The Android App I developed is to receive data from Pebble watch. It depends on the Pebble Android SDK. There is an update of the SDK but I didn't update in time. So the first step is to download the latest SDK pebblekit-2.6.0-eclipse and import it to the project.

2) After updating the SDK, I met another problem. There was an error "The import com.google.common cannot be resolved". I followed some advice from stackoverflow to add google play service etc. None of them worked for me. After several tries, I found the root cause: after the updating in November 2014, the datalogging API has changed."|receiveData()| now takes |java.lang.Long| instead of|com.google.common.primitives.UnsignedInteger|", as shown here https://github.com/pebble/pebble-android-sdk. I didn't realize that because this information was not updated on their official document. So the problem will be solved after updating the data type from UnsignedInteger to Long. And be careful of the upper letter.

Zheng Xiaochen
  • 643
  • 5
  • 8