28124
MonacaでCordovaのFileプラグインを使用しています。

プラグイン使用により自動で付与されるパーミッションが不要なのですが、  
削除できません。以下詳細です。

Fileプラグインを組み込むと、ビルド時AndroidManifest.xmlに  
以下のpermissionが追加されるようです。

`android.permission.WRITE_EXTERNAL_STORAGE`

Monacaの編集画面ではWRITE_EXTERNAL_STORAGEは見当たらないですが、  
apkファイルのAndroidManifest.xmlにはWRITE_EXTERNAL_STORAGEが追加されていて  
実機にダウンロードすると「SDカードのコンテンツの読み取り」と  
「SDカードのコンテンツの変更または削除」の許可が求められました。

このパーミッションは不要なので削除するようAndroidManifest.xmlに以下のように記述しましたが、  
permissionを削除できませんでした。  
(apkのAndroidManifest.xml、許可メッセージ共にそのままでした。)

```

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="@@" >
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove"/>
      <application>
         <activity>
         </activity>
      </application>
      <uses-sdk/>
    </manifest>
    
```

他に何か考慮すべき点があるか、または他のpermission削除方法があるのか、  
お詳しい方、ご教授いただければ大変ありがたいです。  
よろしくお願いします。
CC BY-SA 3.0
2016-08-08T03:14:34.993
28114
2016-08-08T08:08:26.480
18410
question
monaca
MonacaのFileプラグイン使用で自動付与されるpermissionを削除できない
AndroidManifestファイルに

```

    android.permission.WRITE_EXTERNAL_STORAGE
    
```

が追加されるのは、cordova-plugin-fileの仕様なので、設定変更などの方法では削除は出来ないです。

ただし、もしもMonacaのプランがGoldプラン以上を利用しているのであれば、githubからcordova-plugin-
fileをダウンロードして、plugin.xmlファイルの中の

```

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

の部分を削除し、zipファイルに固めて、カスタムプラグインとしてアップロードすれば、WRITE_EXTERNAL_STORAGEを追加しないようにできます。(zipで固める場合、Macの場合はzipコマンドラインから行わないと、Monacaにアップロードした時にうまく認識されないので注意してください）

他には、やはりGoldプラン以上になりますが、cordova-plugin-
fileが組み込んだWRITE_EXTERNAL_STORAGE権限を、ビルド前に無理矢理削除するプラグインを作るという方法も考えられますが、かなり大変かと思います。
CC BY-SA 3.0
2016-08-08T08:08:26.480
28124
2016-08-08T08:08:26.480
8848
28114
answer