2016-10-13 10 views
-1

私は、携帯電話のシステムメモリにあるアプリを持っています。これは、電話にアクセスするためのパスワードが必要な電話ロックアプリの一種です。Android搭載端末からシステムアプリをプログラムで削除するにはどうすればいいですか?

正しいパスワードが入力されると、電話からアプリの不明者が必要になります。今私がやったことは、正しいパスワードにIntent.DELETEを使ってアプリをアンインストールしたことです。しかし、問題は、電話機が工場出荷時の状態にリセットされたときに、パスワードを尋ねて再び表示されることです。

システムアプリをプログラムでアンインストールする方法はありますが、電話機を出荷時にリセットしても表示されません。

私はここでStack Overflowでいくつかの記事を見つけましたが、コードが機能しませんでした。

How to uninstall android system app programmatically?

How to uninstall own app from /system/app?

+0

のように、私は何を 'deleteFromSystem'関数を渡すか分からない。助けてください –

答えて

0

あなたがプリインストールされたアプリ(システム/アプリケーションやシステム/ PRIV-アプリ)としてアプリケーションをビルドする場合は、システムイメージおよびシステムパーティションの一部になります。 ユーザーが工場出荷時の設定をリセットすると、デバイスはビルドの元のシステムイメージに戻ります。その場合、イメージには既にアンインストールされている可能性のあるアプリケーションが含まれています。

両方のソリューションは、読み取り専用のパーティションである(そして理由がある)システムパーティションからアプリケーションを削除しようとします。そのパーティションからファイルを削除したい場合は、それを読み取り/書き込みパーティションとして再マウントしてからファイルを削除する必要があります。

システムパーティションを再マウントするには、rootアクセスが必要です。私の知る限り、標準のAndroidアプリケーションからは不可能です。

ルートアクセス権を持ち、削除を実行する実行可能なデーモンを使用することもできますが、これはかなり複雑な解決方法です。

編集

は、システム・アプリケーションでは、アプリケーションがrootアクセスを持っているという意味ではありません! 2番目の例は、デバイス全体がルートされている場合にのみ機能します。その場合、デバイスのセキュリティは非常に弱いです。あなたはまだそのアプローチを使用したい場合は、あなたのAPK(システム/アプリケーション/ yourapp/yourapp.apk)にパスを提供してください。

+0

アプリケーション自体がシステムパーティションにあるので、それはルートアクセスを持っている必要があります –

+0

私はあなたが好きになり、2番目のリンクのdeleteFromSystem関数のパラメータとして渡す必要があることを把握することができます。 –

+0

編集された回答を参照してください。 –

関連する問題