2015-09-18 10 views
6

Android M(6、API 23)で実行時アクセス許可を使用するように適応させる必要のあるすべてのAPI呼び出しを簡単に識別できますか?実行時アクセス許可への移行:現在のアクセス許可をすべてどのように使用していますか?

試しに試して試してみるか、&試行で試してみるか、専門家の知識が必要です(例:APIドキュメントとソースコードを流すなど)。私はGoogleが移行ツールをリリースすることを期待していましたが、私はそれについての証拠は見ていません。 では、マニフェストでランタイム許可タグを使用していない場合でも、誰でもインストール後のアクセス権へのアクセスを無効にすると、アプリケーションがランタイムクラッシュに対して脆弱になるように見えます。

実行時アクセス許可に移行するためのベストプラクティスは何ですか?

+1

は、 "実行時の権限に移行するためのベストプラクティスは何ですか?" - 戦術的には、 'targetSdkVersion'が22以下になるようにしてください。あなたのアプリは正常に動作します。ユーザーがログインして特定の権限を無効にした場合、影響を受けるすべてのAPI呼び出しから有効な結果が返されます。結果はあまり出ません(例: 'ContactsContract'のクエリはユーザーに連絡先がないかのように動作します。実行時パーミッションに関係なく完全に有効な状態)。 – CommonsWare

+0

マニフェストからすべての権限を削除すると、lintは権限が必要なすべての呼び出しにフラグを立てると思います...? –

+0

@krislarson私はそれを働かせることができませんでした。リンターがあなたのためにそれを行うことを確認することができますか、または私たちに例を教えてください? (例えば、Camera.open()の警告は、たとえ許可が宣言されていなくても与えられません)。 – rcreswick

答えて

3

既存のツールを見つけることができませんでした。そのため、Galoisのチームは、バイナリのAndroidアプリで権限保護されたメソッド呼び出しを特定するために過去4年以上に作成した静的解析ツールを採用しました。

あなたはでそれを使用することができます。詳細はこちらあり

http://galois.com/blog/2015/10/fuse-analyzer-handling-runtime-permissions-android-6-0/

関連する問題