最近在做基于6410的led应用程序移植编译后发现目标系统启动后找不到两个应用程序的图标。仔细阅读logcat输出的信息发现提示:

E/PackageManager( 167): Package com.led requires unavailable shared library forlinx_led_server.server; failing! 

原因是找不到 forlinx_led_server.server。检查应用程序目录下Android.mk发现系统将LedManager和LedService编译成 forlinx_led.jar库文件。为了让应用程序可以访问到这个库,需要通过forlinx_led_server.server.xml来设定其对应关系。
解决方法:拷贝forlinx_led_server.server.xml到目标系统的system/etc/permissions/目录
此时应用程序的图标就可以正常出现。

但这是通过终端手动加到相应目录下的,要是想编译到文件系统里面,该如何实现?

几经对比,发现在vendor/xxxx/common目录下少移植了一压缩包ForlinxLEDTest.tar.gz,但将其复制到对应目录后再编译,在rootfs_dir\system\etc\permissions目录下还是没有生成forlinx_led_server.server.xml。对比分析后发现没有系统对ForlinxLEDTest.tar.gz没有执行操作。

解决办法:目标android系统在编译后要执行./genimages.sh来打包成.img镜像,通过查看genimages.sh按照里面的格式加了一句:tar zxvf ./ForlinxLEDTest.tar.gz -C ./rootfs_dir/system/etc/permissions,根据语句把ForlinxLEDTest.tar.gz放在根目录下,再编译就OK了,此时一启动系统就可以看到菜单上的应用程序图标了。

更多相关文章

  1. Android:安装APK包以后系统文件目录的变化
  2. android 系统裁剪
  3. 【精华】Android应用程序框架分析
  4. Android调用系统Activity选取图像部分区域
  5. 简单android环境搭建,xp系统
  6. 做了一个手机上的直播系统
  7. 【Android】调用系统应用常用uri & intent设置

随机推荐

  1. android 使用crt/cer/pem格式的公钥证书
  2. Android(安卓)环境搭建(没有那么困难好不!!!)
  3. ESC/POS指令集在Android设备上使用实例(通
  4. Android中MVP模式
  5. TextView最大长度限制,超出部分省略号显示
  6. Android 学习笔记(4)—— ToggleButton 、S
  7. Android(安卓)— 运行时权限检查
  8. Android(安卓)Volley入门到精通:初识Volle
  9. android HAL 详解
  10. Android多线程:理解和简单使用总结