web-dev-qa-db-ja.com

Androidシステムアプリ情報

システムアプリに関する一般的な情報を教えてください。私は自分のアプリをシステムアプリにするために必要な情報を喜んで提供してくれるメーカーと協力しています。ただし、この情報がどうあるべきか、また、指定された情報を使用してシステムアプリにするために、アプリをどのように変更するかは正確にはわかりません。マニフェストにこのようなものが必要だと思います

Android:sharedUserId="Android.uid.system"

次に、製造元のキーを使用してアプリに署名する必要がありますか?誰かが私にプロセスがどのようになるかを正確に説明できるかわかりませんか?

また、私のアプリがシステムアプリである必要がある理由は、ユーザーがそれをアンインストールできないようにするためですが、それでも私のアプリは更新する必要があります。システムアプリの場合、アプリを更新することはできますか?通常のようにグーグルプレイからなら更新します。

助けてくれてありがとう、私はこの主題に関する多くの情報を見つけることができなかったので、助けていただければ幸いです。

14
alexward1230

ここのこのリンクはあなたに少しの情報を与えるでしょう。

システムアプリケーションは、OSのプラットフォーム署名によって署名されたアプリケーションではありません。これは多くの人が信じているよくある間違いであり、後でこれに行きます。システムアプリケーションは、Androidデバイスの/ system/appフォルダーの下に配置される単なるアプリケーションです。 OSのROM(system.img)にアクセスできる場合にのみ、アプリケーションをそのフォルダーにインストールできます。 ROMが抽出された後、アプリケーションは/ appフォルダーの下に配置されます。カスタムROMをロードするデバイスには、新しいシステムアプリケーションが追加されます。システムアプリケーションの利点は、アプリケーションをデバイスから削除できないことです(ユーザーがアンインストールすることはできません)。これは、/ system/appが読み取り専用フォルダーであるためです。

http://ricston.com/blog/explaining-behavior-Android-application-system-apps-nonsystem-apps/

Playストアを介してアプリを更新する場合、アプリがPlayストアにあり、毎回同じ署名を使用していれば、問題なく更新できるはずだと思います。メーカーの証明書である必要はありませんが、その証明書を使用してアプリに署名することをお勧めします。

したがって、確認する必要があるのは、ROMを構築するときに、製造元がapkをシステムフォルダに配置することだけです。これで動作するはずです。

13
Kumar Bibek
  1. Mkkey.sh http://www.kandroid.org/online-pdk/guide/release_keys.html スクリプトを使用して、x509証明書を含む新しい証明書を作成します。製造元がキーを提供しているため、これらの手順は必要ありません。
  2. アプリケーションのAndroidManifest.xmlで:要素の下に属性Android:sharedUserId =” Android.uid.system”を追加します
  3. Eclipseを使用してAndroidアプリケーションの署名されていないバージョンをエクスポートします。プロジェクト>> Androidツール>>署名されていないアプリケーションパッケージをエクスポートします
  4. /out/Host//framework/signapk.jarを使用して、以前に生成された/ build/target/product/security /のplatform.x509.pemとplatform.pk8を使用してアプリに署名します

Java –jar signapk.jar platform.x509.pem platform.pk8 your_app_unsigned.apk your_app_signed.apk

あなたの他の質問のいくつかへの答えはすでにKumarBibekによって与えられています。これらは私が同じことをしなければならなかったときに私が従ったステップです。これはAndroid ICSで行われました。手順は変更されている可能性がありますが、試してみる価値はあります。

5
digitizedx

Android O(Oreo)なので、devキーを使用してシステムアプリに署名する必要があります。過去のバージョンとは異なり、過去に変更されたシステムフォルダにコピーするだけです。

2
VeeKoo