LoginSignup
4
2

More than 5 years have passed since last update.

CordovaプラグインとAndroidパーミッションについて

Last updated at Posted at 2016-09-16

Cordovaを利用したハイブリッドアプリを作成する際、ネイティブ機能を利用する場合は、Cordovaプラグイン経由でアクセスする必要があります。

利用するCordovaプラグインでAndroidパーミッションの設定が必要な場合は、Cordovaプラグインの設定ファイルであるplugin.xmlに記載されています。

例として、cordova-plugin-cameraプラグインのplugin.xmlには、下記のように設定されています。

plugin.xml
<platform name="android">
  <config-file target="AndroidManifest.xml" parent="/*">
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  </config-file>
</platform>

cordova-plugin-cameraプラグインでは、外部記憶領域への書き込みに対する「WRITE_EXTERNAL_STORAGE」が、設定されています。

このplugin.xmlに設定されているパーミッションは、ビルド時にAndroidManifest.xmlに書き込まれます。

開発するアプリで、外部記憶領域への読み込みのみ必要な場合は、cordoba-plugin-cameraプラグインのGitHub からダウンロードしたzipファイルを解凍し、plugin.xmlの「WRITE_EXTERNAL_STORAGE」を「READ_EXTERNAL_STORAGE」に変更し、再度zipファイルにすることにより、パーミッションを変更させたカスタムCordovaプラグインを作成することができます。

ビルドしたapkファイルに設定されているパーミッションは、AXMLPrinter2.jar を利用することで確認することができます。

確認手順

  1. ビルドしたファイルの拡張子を「apk」から「zip」に変更し、解凍します。
  2. 解凍したファイルにあるAndroidManifest.xmlを任意の場所にコピーします。
  3. ターミナルで下記のコマンドを入力し、実行します。
java -jar AXMLPrinter2.jar AndroidManifest.xml
4
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2