What i tracked up to now is in function nmea_callback in com_android_server_location_GpsLocationProvider.cpp, there is a line of code as JNIEnv* env = AndroidRuntime::getJNIEnv(); while env just got NULL as return value of getJNIEnv, somebody met this before? Thanks a lots!
On 5月17日, 下午1时46分, Lionel Xu <xlron...@gmail.com> wrote: > Thanks, > What i used is a gps module which connected with our soc via serial > port, > i think it is a little different from usb-based. My GPS hardware > abstraction layer code > was also referenced from sdk/emulator/gps/gps_qemu.c, and the > associated android.mk > is as follow: > > LOCAL_PATH := $(call my-dir) > > ifneq ($(TARGET_PRODUCT),sim) > # HAL module implemenation, not prelinked and stored in > # hw/<GPS_HARDWARE_MODULE_ID>.<ro.hardware>.so > include $(CLEAR_VARS) > LOCAL_PRELINK_MODULE := false > LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw > LOCAL_SHARED_LIBRARIES := liblog libcutils libhardware > > ifeq ($(USE_ATHR_GPS_HARDWARE),true) > LOCAL_SRC_FILES := athr_gps.c > endif > > LOCAL_SRC_FILES += gps.c > LOCAL_MODULE := gps.default > LOCAL_MODULE_TAGS := eng > include $(BUILD_SHARED_LIBRARY) > endif > > The problem is just like topic starter says, when callback to function > nmea_callback > in com_android_server_location_GpsLocationProvider.cpp, android VM > restart again > and again, i was totally no idea about it, thanks a lot for your > reply! > > BR > Lionel > > On 5月16日, 下午9时05分, WuPublic <wu.publicm...@gmail.com> wrote: > > > > > > > > > Does the usb_based gps emulate as a serial (usb to serial)? > > And what 's the difference between usb_based gps or uart based gps ? > > and could you show your Android.mk file to us? > > > 在 2011年5月16日 下午5:38,Lionel Xu <xlron...@gmail.com>写道: > > > > I just got the same problem as you said, which blocked my gps project > > > nearly one week!!!! > > > > On 5月9日, 下午12时55分, white <felon.wh...@gmail.com> wrote: > > > > I was under the impression thatgps.default.so(or libgps.so) should go > > > > to the directory (/system/lib/) instead of (/system/lib/hw/). > > > > > Also, is it important to name it as "gps.default.so" or it depends on > > > > what we specify while editing ./build/target/board/beagleboard/ > > > > BoardConfig.mk e.g. > > > > BOARD_GPS_LIBRARIES :=libgps > > > > > White > > > > > On May 6, 1:21 pm, jack <luquanh...@gmail.com> wrote: > > > > > > Hi > > > > > > I am going to porting a USB-basedGPSmodule to Android 2.3 on arm > > > > > device. > > > > > In the Android2.3 source,I find the file (sdk/emulator/gps/ > > > > > gps_qemu.c). So i change the file and Android.mk, making them been > > > > > builded togps.default.so and been copied to the directory (/system/ > > > > > lib/hw/). > > > > > By doing these, i can grab the NMEA data and callback them to JNI. > > > > > However , When callback to GpsLocationProvider, > > > > > > env->CallVoidMethod(mCallbacksObj, method_reportLocation, > > > location->flags, > > > > > > (jdouble)location->latitude, (jdouble)location->longitude, > > > > > (jdouble)location->altitude, > > > > > (jfloat)location->speed, (jfloat)location->bearing, > > > > > (jfloat)location->accuracy, (jlong)location->timestamp); > > > > > > make the VM restart. What happen? > > > > > > D/GpsLocationProvider( 1429): startNavigating > > > > > D/GpsLocationProvider( 1429): start GPS...................... > > > > > D/gps_nfs ( 1429): Start send CMD_START command: > > > > > D/gps_nfs ( 1429):gpsthread received 1 events > > > > > D/gps_nfs ( 1429):gpscontrol fd event > > > > > D/gps_nfs ( 1429):gpsthread starting location_cb=0x8380a67d > > > > > D/gps_nfs ( 1429): entery nmea_reader_set_callback > > > > > D/gps_nfs ( 1429): nmea_reader_set_callback: sending latest fix to new > > > > > callback > > > > > D/gps_nfs ( 1429): location callback 0X39.978600 > > > > > > I/ActivityManager( 1429): Displayed org.gps.GPSTest/.GPSTest: +1s688ms > > > > > E/gralloc.mini6410( 1429): [unregister] handle 0x1aaf30 still locked > > > > > (state=40000001) > > > > > D/gps_nfs ( 1429):gpsthread received 1 events > > > > > D/gps_nfs ( 1429):gpsfd event > > > > > D/gps_nfs ( 1429): received 32 bytes: $GPGGA,062150.026,3958.7160,N,11 > > > > > D/gps_nfs ( 1429): received 32 bytes: 619.8405,E,0,0,,35.0,M,-6.5,M,,* > > > > > D/gps_nfs ( 1429): received 32 bytes: 6F > > > > > D/gps_nfs ( 1429): > > > > > D/gps_nfs ( 1429): $GPRMC,062150.026,V,3958.716 > > > > > D/gps_nfs ( 1429): Received: '$GPGGA,062150.026,3958.7160,N, > > > > > 11619.8405,E,0,0,,35.0,M,-6.5,M,,*6F > > > > > D/gps_nfs ( 1429): ' > > > > > D/gps_nfs ( 1429): Found 12 tokens > > > > > D/gps_nfs ( 1429): 0: 'GPGGA' > > > > > D/gps_nfs ( 1429): 1: '062150.026' > > > > > D/gps_nfs ( 1429): 2: '3958.7160' > > > > > D/gps_nfs ( 1429): 3: 'N' > > > > > D/gps_nfs ( 1429): 4: '11619.8405' > > > > > D/gps_nfs ( 1429): 5: 'E' > > > > > D/gps_nfs ( 1429): 6: '0' > > > > > D/gps_nfs ( 1429): 7: '0' > > > > > D/gps_nfs ( 1429): 8: '35.0' > > > > > D/gps_nfs ( 1429): 9: 'M' > > > > > D/gps_nfs ( 1429): 10: '-6.5' > > > > > D/gps_nfs ( 1429): 11: 'M' > > > > > D/gps_nfs ( 1429): callback, keeping data needed ! > > > > > D/GpsLocationProvider( 1429): entry the JNI and the location is > > > > > 39.978600 > > > > > > I/DEBUG ( 1015): *** *** *** *** *** *** *** *** *** *** *** *** *** > > > > > *** *** *** > > > > > I/DEBUG ( 1015): Build fingerprint: 'FriendlyARM/mini6410/ > > > > > mini6410:2.3.2/GRH78C/eng.root.20110503.151546:eng/test-keys' > > > > > I/DEBUG ( 1015): pid: 1429, tid: 1550 >>> system_server <<< > > > > > I/DEBUG ( 1015): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault > > > > > addr 00000000 > > > > > I/DEBUG ( 1015): r0 00000000 r1 407d1b60 r2 41645ab4 r3 47defc54 > > > > > I/DEBUG ( 1015): r4 00000000 r5 8380c7cf r6 00000000 r7 407d1b60 > > > > > I/DEBUG ( 1015): r8 849015f1 r9 84903250 10 00100000 fp 00000001 > > > > > I/DEBUG ( 1015): ip 8380e7d4 sp 47defc40 lr 8380a6f9 pc > > > > > 83807d0e cpsr 00000030 > > > > > I/DEBUG ( 1015): #00 pc 00007d0e /system/lib/ > > > > > libandroid_servers.so > > > > > I/DEBUG ( 1015): #01 pc 0000a6f4 /system/lib/ > > > > > libandroid_servers.so > > > > > I/DEBUG ( 1015): #02 pc 000015be /system/lib/hw/ > > > > >gps.default.so > > > > > I/DEBUG ( 1015): #03 pc 00001822 /system/lib/hw/ > > > > >gps.default.so > > > > > I/DEBUG ( 1015): #04 pc 00011a7c /system/lib/libc.so > > > > > I/DEBUG ( 1015): #05 pc 00011640 /system/lib/libc.so > > > > > I/DEBUG ( 1015): > > > > > I/DEBUG ( 1015): code around pc: > > > > > I/DEBUG ( 1015): 83807cec ab04b082 9301cb04 6f646804 b00247a0 > > > > > I/DEBUG ( 1015): 83807cfc bc08bc10 4718b002 b510b40c ab04b082 > > > > > I/DEBUG ( 1015): 83807d0c 6804cb04 34f89301 47a06824 bc10b002 > > > > > I/DEBUG ( 1015): 83807d1c b002bc08 46c04718 b510b40c ab04b082 > > > > > I/DEBUG ( 1015): 83807d2c 9301cb04 34986804 47a06824 bc10b002 > > > > > I/DEBUG ( 1015): > > > > -- > > > unsubscribe: android-porting+unsubscr...@googlegroups.com > > > website:http://groups.google.com/group/android-porting -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting