开发板:OKMX6Q-C 操作系统:Android
产品详情: www.forlinx.com/68.htm
以下操作在飞凌嵌入式Cortex-A9 i.MX6Q开发板已经验证成功,其它平台请参考使用。
在使用Android源码中的APP源码做参考做Android应用时,安装不到开发板上,eclipse中调试信息如下:
Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
这是因为APP的源码中的AndroidManifest.xml文件中设置了system权限,如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="forlinx.example.app"
android:versionName="1.0"
android:versionCode="1"
android:sharedUserId="android.uid.system" /*设置了system权限*/
(自己开发的APP也可以依此手法设置system权限)
设置了system权限后编译出的APP需要进行系统的签名才能正常的安装运行。
签名方法有两种:
第一种:
1、修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
2、使用make命令来编译,生成的apk就可以在开发板中运行了
这种也是我们源码中的APP采用的方法
第二种:
这一种也完成了测试,测试使用的是CanTest的源码
1、使用eclipse编译出对应apk文件ForlinxActivity.apk,但是这个apk文件是不能用的。
2、使用SignApk.jar签名工具对该apk进行签名
首先在Android源码中拷贝出platform.pk8、platform.x509.pem 和Signapk三个文件,然后再把编译出的apk文件拷贝到同一级目录下。
打开Windows的cmd.exe,然后切换到apk所在的目录,输入以下命令:
signapk.jar platform.x509.pem platform.pk8 ForlinxActivity.apk new.apk
执行后new.apk即为签名后的文件,这个new.apk就可以安装到iMX6Q开发板上了。