Firefly开源社区

标题: rk3128 添加自己的硬件服务后系统无法启动 [打印本页]

作者: arvin    时间: 2015-12-12 14:57
标题: rk3128 添加自己的硬件服务后系统无法启动
我写了一个 driver, 完成相应的HAL,添加JNI方法,并为android app提供相应service,  烧录后系统无法启动,报错 :Abort message: 'art/runtime/jni_internal.cc:769] JNI FatalError called: RegisterNatives failed for 'com/android/server/Et6296Service'; aborting...'
Et6296Service这个是我的要添加的service.
还忘各位给分析下我问题可能出在了那里,谢谢。

作者: arvin    时间: 2015-12-12 16:07
/Zygote  ( 1542): System server process 1769 has been created
I/Zygote  ( 1542): Accepting command socket connections
I/InstallerConnection( 1769): disconnecting...
I/SystemServer( 1769): Entered the Android system server!
V/Fingerprint-JNI( 1769): FingerprintManager JNI ready.
E/art     ( 1769): ----- class 'Lcom/android/server/Et6296Service;' cl=0x12c12ec0 -----
E/art     ( 1769):   objectSize=476 (116 from super)
E/art     ( 1769):   access=0x8000.0001
E/art     ( 1769):   super='java.lang.Class<android.os.IEt6296Service$Stub>' (cl=0x0)
E/art     ( 1769):   vtable (2 entries, 3 in super):
E/art     ( 1769):      0: void com.android.server.Et6296Service.Et6296Service()
E/art     ( 1769):      1: void com.android.server.Et6296Service.et6296_led_control(int)
E/art     ( 1769):   direct methods (3 entries):
E/art     ( 1769):      0: void com.android.server.Et6296Service.<init>()
E/art     ( 1769):      1: int com.android.server.Et6296Service.control_native(int)
E/art     ( 1769):      2: boolean com.android.server.Et6296Service.init_native()
E/art     ( 1769):   static fields (1 entries):
E/art     ( 1769):      0: java.lang.String com.android.server.Et6296Service.TAG
E/art     ( 1769): Failed to register native method com.android.server.Et6296Service.control_native(I)V in /system/framework/services.jar
F/art     ( 1769): art/runtime/jni_internal.cc:769] JNI FatalError called: RegisterNatives failed for 'com/android/server/Et6296Service'; aborting...
F/art     ( 1769): art/runtime/runtime.cc:290] Runtime aborting...
F/art     ( 1769): art/runtime/runtime.cc:290] Aborting thread:
F/art     ( 1769): art/runtime/runtime.cc:290] "main" prio=6 tid=1 Native
作者: arvin    时间: 2015-12-14 09:44
有那位帮忙解答一下吗  谢谢
作者: arvin    时间: 2015-12-14 14:33
问题已解,是jni方法里的函数返回值类型与service里面的api返回值类型不匹配造成的。





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1