memo

ゲーム制作やデザインについての個人的メモ

【Monaca】不要なパーミッション(権限)を削除したい

最近とてもお世話になってるMonacaたん。でも、アプリをビルドして端末にダウンロードしようとすると、たくさん不要な権限の許可を求められて困っちゃう。どうしたら削除できるかな?ってお話です。

ja.monaca.io

パーミッションってあれです、アプリをダウンロードしようと思ったときにやれ個人情報にアクセスしますよーだの、現在地の情報を収集しますよーだの、あれこれ言ってくるやつです。必要なものならいいのですが、明らかに不要な権限まで許可しろって言われたらいやな気分になりますよね。セキュリティの観点から言ってもあまり好ましくありません。というわけで必要ないものは取っ払ってしまいましょう。

Monacaは使用するプラグインに基づいてパーミッションが自動的に決定されるという特徴があります。あれこれ考えずに便利な機能を使えるのはとてもありがたいのですが、その過程で不要なもの付いてきてしまうことがあるようです。以前のバージョンではパーミッションの設定が記述されている「AndroidManifest.xml」を手動で編集できたのですが、現在はできくなっているようです。ならばどうするか。答えは「config.xmlを編集する」です。

Custom Config プラグイン - Monaca Docs

config.xmlはその名のとおりアプリの設定があれこれ記述されているファイルです。アプリ名や作者の情報、アイコン等はこのファイルで設定されています。Monacaではアプリ設定の内容がそのまま反映されるので、普通は特に編集する必要のないものです。今回はAndroidManifest.xmlの内容を変更したいのですが、実はconfig.xmlからそれを指示することができます。例えば、「録音」のパーミッションを削除したいときは、記述は以下のようになります。

<preference name="android-manifest/uses-permission/[@android:name='android.permission.RECORD_AUDIO']/@android:name" delete="true" />

赤字パーミッションの種類です。以下のサイトで一覧が見られます。

AndroidManifest.xml の permission一覧 - [Androidアプリ/Android] ぺんたん info

その他詳細はMonacaのドキュメントに書いてあるので読んでみてください。がしがし削除してクリーンなアプリを目指したいところですが、必要なものまで削除してしまうとアプリが動かなくなってしまうので見極めが必要です。