1)AndroidアプリケーションがCで記述されたAndroid以外のアプリケーションとUIDを共有することは可能ですか?
2)Androidアプリケーションをグループに追加することは可能ですか?
ありがとう!!
1) Android アプリケーションが C で記述された非 Android アプリケーションと UID を共有することは可能ですか?
アプリ (NDK) にバンドルされたネイティブ コードを意味しますか? はい、UID をプラットフォーム内の何かと共有します。いいえ、これは Android セキュリティ モデルの一部です。
2) Android アプリケーションをグループに追加することはできますか?
これは可能かもしれませんが、いくつかのパーミッションを要求すると、そのグループに入れられます。これは、簡単に解決する 1 つの方法です (USB 大容量ストレージ領域の読み取り/書き込みのサポートなど)。しかし、これを確認するためにソース コードを調べていません。(一部のパーミッションはグループの考えに依存せず、一部のサービスのサーバー/レシーバー側でテストされています)
アプリのuidをAndroid以外のアプリケーションと共有してcに直接書き込むことはできません。
ただし、他のAPKとuidを共有できるSHELL APKを作成できます。SHELLapkは、次の方法で関数がCで実装する関数を呼び出します。1。Cによって
作成された関数をlibとして作成し、JNIを介して関数を呼び出します。
2. Cによってネイティブアプリケーションとして記述された関数を作成し、Runtime.getRuntime()。exec()によってAPKでアプリケーションを呼び出します。
方法2の方が便利だと思います:)
NDKを使用してAndroidでsharedUserId属性を使用します(ただし、これを行うと(メインフェストで)パーミッションも共有されます)
http://android-dls.com/wiki/index.php?title=Android_UIDs_and_GIDsには、各関数が属するグループが含まれていますが、そうは思いません。