您的位置:首页 > 产品设计 > UI/UE

Android——TV真机调试apk(android:sharedUserId="android.uid.system")

2013-10-08 12:15 761 查看
当需要调试的apk 的AndroidManifest.xml中有使用 android:sharedUserId="android.uid.system" ,表示此apk和系统拥有相同的uid,可以共享系统资源,可以加入同一进程中。但是要使用eclipse编译adb安装调试安装 肯定会报错,如下:

Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
Please check logcat output for more details.
Launch canceled!





关于android的签名机制,可以参考Android——编译release版签名系统

因为eclipse生成的apk签名与system不同,android系统规定使用相同uid的必须拥有相同的签名。

我所使用的方法是写一个脚本,在eclipse生成apk之后给这个apk重签名,然后再launch安装。

step 1:配置签名环境

拷贝 源码
/build/target/product/security/
下的 platform.pk8
platform.x509.pem
out/host/linux-x86/framework

out/host/linux-x86/framework下执行:

java -jar signapk.jar platform.x509.pem platform.pk8 $sourceapk $apkname


$sourceapk为需要签名的apk路径,$apkname为签名成功之后的apk。

step 2:调试配置

最好写一个shell脚本,执行上面的操作,在eclipse中做如下设置:

1):编译直接生成apk



去掉 Skip packaging and dexing until export or launch.....

2):配置eclipse external tool

RUN——>External Tools——>External Tools Configurations



new 一个program 选择写好的 signed 脚本

再在 window——>preferences——>General——>Key 配置快捷键

F10 作为 clean-bulid F11作为external tool F12作为run debug 。

至此 OK~~



撰写不易,转载请注明出处http://blog.csdn.net/jscese/article/details/12184513#comments
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: