谷歌眼镜//系统签名//在后台安装APK

时间:2016-07-02 00:27:50

标签: android google-glass android-permissions package-managers elevated-privileges

我想在谷歌眼镜设备上以编程方式下载并安装/删除APK。

我已尝试的步骤:

  • 将APK移至 / system / priv-apps
  • 尝试使用系统签名对APK进行签名(我不知道我是否使用正确的签名进行了签名)
  • 将android sharedUserId设置为" android.uid.system" - >这在安装时给了我一个权限错误

有人可以帮助我通过系统签名签署我的应用程序吗?我真的不想编写每次启动时运行的shell脚本..

我在尝试执行

时也遇到以下错误
pm install -r APK_PATH

命令编程:

Error running exec(). Command: [su] Working Directory: null Environment: null

请帮帮我! : - )

1 个答案:

答案 0 :(得分:0)

根据此documentation,请注意APK需要符合以下条件:

  • 必须拉链对齐。
  • 在此之后,您不得对程序包名称或私人签名密钥进行任何更改(如果其中任何一项更改,Android程序包管理器不允许升级)。
  • 必须小于50兆字节。
  • 必须使用最新版本的GDK进行编译。

根据此thread

对APK进行签名
  

在使用由...生成的证书签署Android 1.6 for Dream之上   我自己也设法用平台证书签署我的应用程序   并使用系统sharedUserId运行它。这些是我采取的步骤:

     
      
  • 使用http://source.android.com/documentation/building-for-dream为您的梦想构建并闪现自己的Android。使用   mkkey.sh脚本   要创建http://pdk.android.com/online-pdk/guide/release_keys.html   新证书,包括x509证书,然后再“制作”。
  •   
  • 在您的应用的AndroidManifest.xml中:在<manifest>元素下添加属性android:sharedUserId="android.uid.system"
  •   
  • 使用Eclipse导出未签名的Android应用程序版本:右键单击项目&gt;&gt; Android工具&gt;&gt;出口   未签名的应用程序包。
  •   
  • 使用<root-of-android-source-tree>/out/host/<your-host>/framework/signapk.jar使用platform.x509.pemplatform.pk8 <root-of-android-source-tree>/build/target/product/security对您的应用进行签名   早先生成的:

    java -jar signapk.jar platform.x509.pem platform.pk8 YourApp-unsigned.apk YourApp-signed.apk.
    
  •   
  • 将应用安装到您的设备:

    adb install YourApp-signed.apk
    
  •   
  • 运行您的应用
  •   
  • 使用adb shell ps确认您的应用是否以系统身份运行。
  •   

检查以下相关论坛:

希望这有帮助!