天嵌 ARM开发社区

 找回密码
 注册
查看: 2955|回复: 5

有关Led演示程序的安装问题

[复制链接]
三嗔 发表于 2013-8-13 11:19:43 | 显示全部楼层 |阅读模式
我根据文档文档编写了led演示程序。通过SD卡安装LED.APK到TQ210开发版,可以正常运行。但是我把led.apk 直接copy到system/apps目录下,做成文件系统刷机,点击运行时提示“很抱歉,LED已停止运行”。
另外,我查了rootfs_dir下面的init.rc, 里面已经有一句 chmod 0777 /dev/led

TQ-lkp 发表于 2013-8-13 11:43:38 | 显示全部楼层
打开logcat报错时会有信息打印的
chmod 0777 /dev/led是为了led可以读写设备,这个没有影响
 楼主| 三嗔 发表于 2013-8-13 17:43:09 | 显示全部楼层
报错的信息是下面这段
I/ActivityManager( 2262): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.embedsky.led/.LedActivity} from pid 3004
D/AudioHardware( 2157): AudioHardware pcm playback is exiting standby.
D/AudioHardware( 2157): openPcmOut_l() mPcmOpenCnt: 0
I/ActivityManager( 2262): Start proc com.embedsky.led for activity com.embedsky.led/.LedActivity: pid=3050 uid=10025 gids={}
I/PackageManager( 2262): Running dexopt on: com.embedsky.led
D/dalvikvm( 3062): DexOpt: load 8ms, verify+opt 29ms
D/OpenGLRenderer( 3004): Flushing caches (mode 1)
W/dalvikvm( 3050): No implementation found for native Landroid/hardware/LedService;.led_init ()Z
D/AndroidRuntime( 3050): Shutting down VM
W/dalvikvm( 3050): threadid=1: thread exiting with uncaught exception (group=0x40a371f8)
E/AndroidRuntime( 3050): FATAL EXCEPTION: main
E/AndroidRuntime( 3050): java.lang.UnsatisfiedLinkError: led_init
E/AndroidRuntime( 3050):        at android.hardware.LedService.led_init(Native Method)
E/AndroidRuntime( 3050):        at android.hardware.LedService.init(LedService.java:15)
E/AndroidRuntime( 3050):        at com.embedsky.led.LedActivity.onCreate(LedActivity.java:155)
E/AndroidRuntime( 3050):        at android.app.Activity.performCreate(Activity.java:4465)
E/AndroidRuntime( 3050):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
E/AndroidRuntime( 3050):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
E/AndroidRuntime( 3050):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
E/AndroidRuntime( 3050):        at android.app.ActivityThread.access$600(ActivityThread.java:123)
E/AndroidRuntime( 3050):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
E/AndroidRuntime( 3050):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 3050):        at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 3050):        at android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime( 3050):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3050):        at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 3050):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime( 3050):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime( 3050):        at dalvik.system.NativeStart.main(Native Method)
 楼主| 三嗔 发表于 2013-8-13 17:45:16 | 显示全部楼层
正常运行的是下面这段
I/ActivityManager( 2253): Start proc com.embedsky.led for activity com.embedsky.led/.LedActivity: pid=3075 uid=10052 gids={}
I/dalvikvm( 3075): Turning on JNI app bug workarounds for target SDK version 10...
D/OpenGLRenderer( 2818): Flushing caches (mode 1)
V/PhoneStatusBar( 2329): setLightsOn(true)
I/ActivityManager( 2253): Displayed com.embedsky.led/.LedActivity: +221ms
 楼主| 三嗔 发表于 2013-8-22 08:48:41 | 显示全部楼层
怎么贴上来后就没答下文了?
 楼主| 三嗔 发表于 2013-8-22 08:57:08 | 显示全部楼层
我自己试验,把demo程序LedService.cpp 中函数jint JNI_OnLoad(JavaVM* vm, void* reserved)中加入register_android_server_LedService(env); 就可以了。文档中有这么一句话:“如果采用直接调用libled.so”方法来操作LED设备,需要屏蔽。
难道把led.apk 直接copy到system/apps目录下,做成文件系统刷机就变成了直接调用?请介绍一下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-2 16:13 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表