-1

電話のシステムメモリに常駐するアプリがあります。これは、電話にアクセスするためにパスワードを必要とする一種の電話ロック アプリです。

正しいパスワードが入力されたら、アプリが電話から消える必要があります。現在、私が行ったことは、正しいパスワードで Intent.DELETE を使用してアプリを自己アンインストールしたことです。しかし問題は、電話を工場出荷時の状態にリセットすると、アプリが再び表示されてパスワードを要求されることです。

システムアプリをプログラムでアンインストールして、電話を工場出荷時の状態にリセットした後でも表示されないようにする方法はありますか?

Stack Overflow でいくつかの投稿を見つけましたが、コードを機能させることができませんでした。

プログラムでAndroidシステムアプリをアンインストールする方法は?

/system/app から自分のアプリをアンインストールするには?

4

2 に答える 2

0

アプリケーションをプリインストール アプリ (system/app または system/priv-app) としてビルドすると、システム イメージとシステム パーティションの一部になります。ユーザーが出荷時設定へのリセットを実行すると、デバイスはビルドの元のシステム イメージにフォールバックします。この場合、そのイメージには、既にアンインストールされている可能性のあるアプリケーションが含まれています。

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

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

root アクセス権があり、削除を実行する実行可能な Daemon を使用することもできますが、それはかなり複雑な解決策です。

編集

システム アプリケーションであっても、そのアプリケーションがルート アクセス権を持っているわけではありません。2 番目の例は、デバイス全体がルート化されている場合にのみ機能します。その場合、デバイスのセキュリティは非常に脆弱です。それでもそのアプローチを使用したい場合は、apk へのパスを指定するだけです (system/app/yourapp/yourapp.apk).l

于 2016-10-13T13:50:13.833 に答える