【問題描述】
近期遇到一個 Cordova Plugin 的問題,就是在建立 Plugin 元件時,會發生 EACCES 的權限問題。導致 Plugin 安裝失敗,失敗訊息如下:
Error: command failed with exit code EACCES
到網路上找一下解決方案,通常是提到可以執行下列指令,修改相關權限
chmod +x platforms/android/gradlew
此方法雖然可以解決 Cordova plugin 安裝的問題,但是每次要調整 Plugin 時都會需要手動調整。
【解決方案】
基本上,gradlew 是從 Android SDK 中 copy 到 cordova platforms 底下,在此過程會將相關權限資料也寫到 Android 的專案中。在 MAC 中,路徑範例如下:
/Users/{YOUR ACCOUNT}/Library/Android/sdk/tools/templates/gradle/wrapper/gradlew
cordova plugin add 指令執行時,會將該檔案複製到 Android 專案之中,所以直接調整此檔案之權限,可以避免每次都要手動調整之問題。
【參考資料】