2017-02-02 9 views
1

私は、店舗(レストランなど)のタブレット端末で実行されるアプリケーションを開発しています。端末にGoogle Playがなく、ルートになっています。どのようにしてアプリケーションに自動的にアップデートをインストールしますか?ユーザーの操作は絶対にありません。Google Playやユーザーとのやりとりがなくても自動的にアンドロイドアプリを更新するには

私のサーバーでホストされている新しいバージョンのAPKを確認してダウンロードすることはこの質問の一部ではなく、「サイレント」アップデート部分のみです。

+0

[自分のWebサーバーからダウンロードしたAPKをアップグレードする]の可能な複製(http://stackoverflow.com/questions/8923643/upgrade-apk-downloaded-from-own-web-server) –

+0

検索しますか? https://github.com/lazydroid/auto-update-apk-client –

+0

^そのリンクで提供されるソリューションには、ユーザーの操作が必要です。 – knezmilos

答えて

1

まず、お使いの端末をルーツにする必要があります。これはすでにあなたのために行われているようです。これで、APKの新しいバージョンが利用可能かどうかをアプリケーションに確認させるだけで済みます。その場合は、バックグラウンドでサービスを起動して必要なAPKをダウンロードし、このコードを実行してサイレントインストールします。

public static void InstallAPK(String filename){ 
    File file = new File(filename); 
    if(file.exists()){ 
     try { 
      String command; 
      command = "adb install -r " + filename; 
      Process proc = Runtime.getRuntime().exec(new String[] { "su", "-c", command }); 
      proc.waitFor(); 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 
    } 

基本的には、ABDコマンドを変更して任意の操作を実行できます。根ざしたデバイスは危険であり、セキュリティ侵害を引き起こす可能性があることに注意してください。

関連する問題