0

たとえば、 を見てみましょうandroid.permission.GET_PACKAGE_SIZEAndroid 1.6 の *.xml
ソース ファイル でこの文字列を検索すると、それを使用する単一のアプリケーションのみが示されます。frameworks\base\tests\AndroidTests

次のステップは、.javaファイルを検索して、最終的にパッケージ サイズをクエリしているように見えるコードを見つけられるようにすることです。

これは、許可の使用を発見する想定される方法ですか?

4

3 に答える 3

5

アプリケーションの管理 UI は、この権限によって保護された API を使用します。システム ユーザー ID として実行され、暗黙的にアクセス許可を取得しているため、マニフェストでアクセス許可を要求しない可能性があります。

一般的なアプリケーションの場合、はい、AndroidManifest.xml を見てアクセス許可を見つけることができます。これは、複数のアプリケーションが同じ uid として実行できる共有ユーザー ID によって複雑になり、権限を共有します。許可を要求するそのようなアプリは、そのようなすべてのアプリにその許可を付与します。アプリケーションの管理 UI を備えた設定アプリは、「システム」共有ユーザー ID を使用するため、システムで使用できるすべての権限を取得します。

于 2009-12-21T22:18:21.480 に答える
4

一般的に言って、必要な権限は、通常はドキュメントで、場合によっては例外によって、使用するAPIから参照されるためにわかります。

逆に、特定のパーミッションがドキュメントで引用されていない場合(たとえば、on Manifest.permission)、別のファームウェアで作業している場合を除き、システムパーミッションを保持することはできません。

また、代替ファームウェアで作業している場合は、ソースコードの検索に精通しているはずです。私は個人的にGoogleコード検索を使用しています。たとえば、この検索で​​は、必要な許可を得ています。

したがって、の場合GET_PACKAGE_SIZE、ドキュメントでそれを見つける唯一の場所はにManifest.permissionあり、ソースコードがそれを必要とする唯一の場所は非SDKメソッドであるため、保持できないと思われます。

于 2009-12-21T14:00:50.297 に答える
0

ドキュメントを確認してください。

GET_PACKAGE_SIZE: アプリケーションが任意のパッケージで使用されているスペースを検出できるようにします。

http://developer.android.com/reference/android/Manifest.permission.html

編集

私は質問を誤解したかもしれません。許可値を使用しているコードを知りたい場合。次に、実際には自分でソースを掘り下げる必要があります。

于 2009-12-21T12:39:00.830 に答える