2013-11-01
#4.4
#signature
#4.3
#KitKat
#Android
#JB_MR2 Android 4.3 (JELLY_BEAN_MR2) が出て結構時間がたちました、恒例のsignatureがらみのPermission比較やらなきゃーと思って放置してたら4.4(Kitkat)が出ちゃったので慌てて更新します。
前回までのPermission比較は
ICSとGingerbreadのPermission比較(メーカー署名関係) JBとICSのPermission比較(メーカー署名関係) JB(4.1)とJB_MR1(4.2)のPermission比較(メーカー署名関係) JB_MR1(4.2)とJB_MR2(4.3)のPermission比較(メーカー署名関係) にあります。
何調べてるの? 本記事は署名関係の Android Permission に注目してバージョン間の差分を比較しています。
これらの Permission が要求されるAPIに関してはOSビルド時の署名が必要になります。
メーカー端末であれば販売メーカーに依頼を出して署名をしてもらう必要がありますが、
通常出来ません。
よって3rdパーティアプリを作成する場合これらの Permission を要求されるAPIは使用不可能になります。
Androidはバージョンアップを重ねる毎にこれら Permission の締め付けがきつくなってるのでバージョンアップ毎にチェックしています。
JB MR2 と KitKatのプロテクションレベルの一覧比較 JB MR2
dangerous signature|system normal signature signature|system|development system|signature signatureOrSystem KitKat
dangerous signature|system normal signature signature|system|development system|signature signatureOrSystem 特に変更なし
Permission増減調査(JB MR1(4.2) > JB MR2(4.3)) [signature] これはメーカー署名がないと使用出来ないもの
android.permission.BLUETOOTH_STACK
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOTE_AUDIO_PLAYBACK
android.permission.INTERACT_ACROSS_USERS_FULL
android.permission.GET_DETAILED_TASKS
android.permission.REMOVE_TASKS
- android.permission.MANAGE_ACTIVITY_STACKS
android.permission.START_ANY_ACTIVITY
android.permission.SET_SCREEN_COMPATIBILITY
android.permission.ACCESS_ALL_EXTERNAL_STORAGE
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
2013-11-01
#signature
#JB_MR1
#4.3
#4.2
#Android
#JB_MR2 Android 4.3 (JELLY_BEAN_MR2) が出て結構時間がたちました、恒例のsignatureがらみのPermission比較やらなきゃーと思って放置してたら4.4(Kitkat)が出ちゃったので慌てて更新します。
前回までのPermission比較は
ICSとGingerbreadのPermission比較(メーカー署名関係) JBとICSのPermission比較(メーカー署名関係) JB(4.1)とJB_MR1(4.2)のPermission比較(メーカー署名関係) にあります。
何調べてるの? 本記事は署名関係の Android Permission に注目してバージョン間の差分を比較しています。
これらの Permission が要求されるAPIに関してはOSビルド時の署名が必要になります。
メーカー端末であれば販売メーカーに依頼を出して署名をしてもらう必要がありますが、
通常出来ません。
よって3rdパーティアプリを作成する場合これらの Permission を要求されるAPIは使用不可能になります。
Androidはバージョンアップを重ねる毎にこれら Permission の締め付けがきつくなってるのでバージョンアップ毎にチェックしています。
JB MR1 と JB MR2 のプロテクションレベルの一覧比較 JB MR1
dangerous signature|system normal signature signature|system|development system|signature signatureOrSystem JB MR2
dangerous signature|system normal signature signature|system|development system|signature signatureOrSystem 特に変更はありませんね。
Permission増減調査(JB MR1(4.2) > JB MR2(4.3)) [signature] これはメーカー署名がないと使用出来ないもの
android.permission.BLUETOOTH_STACK
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOTE_AUDIO_PLAYBACK
android.permission.INTERACT_ACROSS_USERS_FULL
android.permission.GET_DETAILED_TASKS
android.permission.REMOVE_TASKS
android.permission.START_ANY_ACTIVITY
android.permission.SET_SCREEN_COMPATIBILITY
android.permission.ACCESS_ALL_EXTERNAL_STORAGE
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
2012-12-12
#JB
#signature
#4.1
#JB_MR1
#4.2
#Android Android 4.2 (JELLY_BEAN_MR1) が出ましたので、恒例のsignatureがらみのPermission比較したいと思います。
前回までのPermission比較は
ICSとGingerbreadのPermission比較(メーカー署名関係) JBとICSのPermission比較(メーカー署名関係) にあります。
何調べてるの? 本記事は署名関係の Android Permission に注目してバージョン間の差分を比較しています。
これらの Permission が要求されるAPIに関してはOSビルド時の署名が必要になります。
メーカー端末であれば販売メーカーに依頼を出して署名をしてもらう必要がありますが、
通常出来ません。
よって3rdパーティアプリを作成する場合これらの Permission を要求されるAPIは使用不可能になります。
Androidはバージョンアップを重ねる毎にこれら Permission の締め付けがきつくなってるのでバージョンアップ毎にチェックしています。
JB と JB MR1 のプロテクションレベルの一覧比較 JB
dangerous signature|system normal signature signature|system|development signatureOrSystem JB MR1
dangerous signature|system normal signature signature|system|development system|signature signatureOrSystem 増えた?と思ったらパイプラインで区切られたフラグの順番が逆転していただけでした。
これは signature|system と同一ですね。
しかし signatureOrSystem の件といい、段々適当になってきてる気がする。
Permission増減調査(JB(4.1) > JB MR1(4.2)) [signature] これはメーカー署名がないと使用出来ないもの
- android.permission.BLUETOOTH_STACK
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOTE_AUDIO_PLAYBACK
- android.permission.INTERACT_ACROSS_USERS_FULL
android.permission.GET_DETAILED_TASKS
android.permission.REMOVE_TASKS
android.permission.START_ANY_ACTIVITY
android.permission.SET_SCREEN_COMPATIBILITY
2012-08-13
#JB
#signature
#ICS
#Android 以前書いた、ICSとGingerbreadのPermission比較(メーカー署名関係)の続編。
注意:今回の記事は https://android.googlesource.com/platform/manifest/android-4.1.1_r4 を元に書いてます。
またしてもJBで色々と Permission 関係が変わっているのでまとめてみた。
まず プロテクションレベルの表記が変わっている。
以前は signatureOrSystem と書かれていた箇所が signature|system に変更。
また謎の development も追加(詳細がドキュメントされていないので後日調査予定)
まず ICS と JB のプロテクションレベルの一覧比較
ICS
dangerous signatureOrSystem normal signature JB
dangerous signature|system normal signature signature|system|development signatureOrSystem JB に signatureOrSystem が混じっているのは誤表記にあらず。
一個だけ何故か(恐らくミスだと思うけど) signatureOrSystem が混ざっている。
次それぞれのプロテクションレベル毎の比較
JB 方式の書き方だと今回はまとめにくいので、ICS方式で signature と signatureOrSystemでまとめてみる。
[signature] 赤字は追加分、新規追加のみ signatureOrSystem からの格上げなし
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOTE_AUDIO_PLAYBACK
android.permission.GET_DETAILED_TASKS
android.permission.REMOVE_TASKS
android.permission.START_ANY_ACTIVITY
android.permission.SET_SCREEN_COMPATIBILITY
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.ASEC_ACCESS
android.permission.ASEC_CREATE
android.permission.ASEC_DESTROY
android.permission.ASEC_MOUNT_UNMOUNT
android.permission.ASEC_RENAME
android.permission.DIAGNOSTIC
android.permission.STATUS_BAR_SERVICE
android.permission.FORCE_BACK
android.permission.INTERNAL_SYSTEM_WINDOW
2011-11-28
#Gingerbread
#signature
#ICS
#Android ICSのテストをしていると、前まで動いていたところでSecurityExceptionをはきました。
端末不具合かソースが変わったのかを調べる為に
公開されているICS(Android 4.0)とGingerbread(Android 2.3.3)のAndroidManifest.xmlを比較してみました。
AndroidではAndroid自体をビルドする時に使用されている署名(所謂メーカー所有の署名)とその他の署名の間に格差があり、特定のAPIを叩く際に必要となるpermissionの値が、“signatureOrSystem” もしくは"signature"となっている時は、実行する為にこのメーカー署名が必要となります。
それらAPIを叩くためには、メーカーに依頼して出来たAPKに署名を入れてもらうか、
rootを取る、もしくは自分でAndroidをビルドして実機に焼く等を行う必要があります。
それぞれ、frameworks/base/core/res/AndroidManifest.xml
を比較し、ICSで増えた箇所を赤字+太字で表示しました。
※ICSで減ったものはなかった。
[signatureOrSystem]
android.permission.SEND_SMS_NO_CONFIRMATION
android.permission.RECEIVE_EMERGENCY_BROADCAST
android.permission.INSTALL_LOCATION_PROVIDER
android.permission.CONNECTIVITY_INTERNAL
android.permission.MANAGE_USB
android.permission.ACCESS_MTP
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PRIVILEGED_PHONE_STATE
android.permission.WRITE_MEDIA_STORAGE
android.permission.WRITE_SECURE_SETTINGS
android.permission.WRITE_GSERVICES
android.permission.DUMP
android.permission.RETRIEVE_WINDOW_CONTENT
android.permission.SET_TIME
android.permission.WRITE_APN_SETTINGS
android.permission.STATUS_BAR
android.permission.UPDATE_DEVICE_STATS
android.permission.SHUTDOWN
android.permission.STOP_APP_SWITCHES
android.permission.BIND_WALLPAPER
android.permission.INSTALL_PACKAGES
android.permission.DELETE_CACHE_FILES
android.permission.DELETE_PACKAGES
android.permission.MOVE_PACKAGE
android.permission.CHANGE_COMPONENT_ENABLED_STATE
android.permission.READ_FRAME_BUFFER
android.permission.REBOOT
android.permission.MASTER_CLEAR
android.permission.CALL_PRIVILEGED
android.permission.PERFORM_CDMA_PROVISIONING
android.permission.CONTROL_LOCATION_UPDATES
android.permission.ACCESS_CHECKIN_PROPERTIES
android.permission.PACKAGE_USAGE_STATS
android.permission.BACKUP
android.permission.BIND_REMOTEVIEWS
android.permission.BIND_APPWIDGET
android.permission.GLOBAL_SEARCH
android.permission.SET_WALLPAPER_COMPONENT
android.permission.ACCESS_CACHE_FILESYSTEM
android.permission.CRYPT_KEEPER
android.permission.READ_NETWORK_USAGE_HISTORY
android.permission.MODIFY_NETWORK_ACCOUNTING
android.permission.PACKAGE_VERIFICATION_AGENT
[signature]
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOVE_TASKS
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.ASEC_ACCESS
android.permission.ASEC_CREATE
android.permission.ASEC_DESTROY
android.permission.ASEC_MOUNT_UNMOUNT
android.permission.ASEC_RENAME
android.permission.DIAGNOSTIC
android.permission.STATUS_BAR_SERVICE