android で logcat 読み取り(android.permission.READ_LOGS)

android で android.permission.READ_LOGS を有効にする方法ですが
adb を使用して shell ユーザからコマンド操作が必要になっている orz

  • android:debuggable でデバッグ版である必要なない
  • AndroidManifest.xml に <uses-permission android:name=”android.permission.READ_LOGS”/> でパーミッション要求
  • shell ユーザにおいて pm コマンドを使用して android.permission.READ_LOGS をパッケージに付与
  • android.permission.READ_LOGS をアプリ内から付与する場合は root が必要
  • http://stackoverflow.com/questions/11461650/read-logs-permission-on-jelly-bean-api-16/12642918

    adb shell pm grant パッケージ名 android.permission.READ_LOGS
    

    もし AndroidManifest で READ_LOGS を要求していないと

    Operation not allowed: java.lang.SecurityException: Package パッケージ名 has not requested permission android.permission.READ_LOGS
    

    のようなエラーになります。

    android.permission.READ_LOGS を削除する場合
    adb shell pm revoke パッケージ名 android.permission.READ_LOGS
    
    確認した環境

    挙動周りで癖が多い SHARP 端末の一つ

    SHARP SH-06E 01.00.05 Android 4.2.2
    

    で動作確認しました。

    This entry was posted in Android, Android Permission, Android Permission READ_LOGS. Bookmark the permalink.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>