用Eclipse建立一个Android系统权限的工程并导入AVD调试
1、 在Eclipse建一带系统权限的工程
请参考http://blog.csdn.net/bk_ydkj/article/details/42002395
在AndroidManifest.xml文件增加权限android:sharedUserId="android.uid.system"。
但这里有一个问题, 在Eclipse增加系统权限会报错“Permissionis only granted to system apps”,这里需要在Eclipse里禁止此类错误。
(原文来自:http://blog.csdn.net/gaojinshan/article/details/14230673)
此类权限仅授予系统级应用,可以修改下LinkError Checking项的安全级别;
InEclipse: Window -> Preferences -> Android -> Lint Error Checking
在ID列表中,找到ID= ProtectedPermission,设置Serverity低于Error,比如Warning级别就好了。
加入系统权限后,编译代码,运行代码,导入AVD会报安装不成功的错误,这里需要将APK的签名也改为对应Android系统的签名。
2、 在Eclipse导入Android系统的签名
(原文来自:http://blog.csdn.net/wuxy_shenzhen/article/details/20946839)
(1)将android 源码目录build\target\product\security下的文件platform.pk8 platform.x509.pem拷贝出来到一个单独目录,例如:/system/user/home/key/
(2)在终端进入此目录,用以下命令生成shared.priv.pem文件
openssl pkcs8 -in platform.pk8 -inform DER-outform PEM -out shared.priv.pem -nocrypt
(3)同目录,用以下命令生成pkcs12文件
opensslpkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12-name androiddebugkey
EnterExport Password: (输入密码android,默认是android,如是自己制作的key,输入对应的密码)
Verifying - Enter Export Password:(输入密码android)
(4)同目录下,用以下命令生成debug.keystore
keytool-importkeystore -deststorepass android -destkeypass android -destkeystoredebug.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepassandroid -alias androiddebugkey
(5)在Eclipse的Windows/Preferences/Android/Build中设置"Custom debug keystore"为刚才生成的keystore,即可直接使用运行调试即可。
注意: 不过这里有一点要注意的,如果已经编译过的工程需要重新Clear一下工程,再编译运行。