Android 8+ Permissions migration


#1

Hi,

Im trying to migrate my old ionic project to new Android 8+ permissions in my ionic project.
My project dependencies:

"dependencies": {
    "@angular/common": "2.0.0-rc.4",
    "@angular/compiler": "2.0.0-rc.4",
    "@angular/core": "2.0.0-rc.4",
    "@angular/forms": "^0.2.0",
    "@angular/http": "2.0.0-rc.4",
    "@angular/platform-browser": "2.0.0-rc.4",
    "@angular/platform-browser-dynamic": "2.0.0-rc.4",
    "bootstrap": "^3.3.5",
    "canvas-text-wrapper": "^0.9.2",
    "cookie": "^0.2.3",
    "cordova-android": "^7.1.0",
    "cordova-android-support-gradle-release": "^1.4.4",
    "cordova-browser": "^5.0.3",
    "cordova-ios": "^4.5.4",
    "cordova-plugin-actionsheet": "^2.3.3",
    "cordova-plugin-console": "^1.1.0",
    "cordova-plugin-crosswalk-webview": "^2.4.0",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-dialogs": "^2.0.1",
    "cordova-plugin-exitapp": "^1.0.0",
    "cordova-plugin-file": "^6.0.1",
    "cordova-plugin-geolocation": "^4.0.1",
    "cordova-plugin-inappbrowser": "^2.0.2",
    "cordova-plugin-media": "^5.0.2",
    "cordova-plugin-network-information": "^2.0.1",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-tts": "^0.2.3",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-windows": "^5.0.0",
    "deepcopy": "^0.6.3",
    "dragula": "3.6.3",
    "es6-module-loader": "^0.17.8",
    "es6-promise": "3.0.2",
    "es6-shim": "^0.35.1",
    "forerunnerdb": "^1.3.750",
    "fs": "0.0.2",
    "guid": "^0.0.12",
    "ionic-angular": "2.0.0-beta.11",
    "ionic-gulp-tslint": "^1.1.0",
    "ionic-native": "^1.1.0",
    "ionic-plugin-keyboard": "^2.2.1",
    "ionicons": "3.0.0",
    "lodash": "^4.16.4",
    "moment": "^2.11.2",
    "ng2-translate": "2.2.2",
    "oauth": "^0.9.14",
    "phonegap-nfc": "^0.7.3",
    "phonegap-plugin-barcodescanner": "^7.1.2",
    "plist": "^1.2.0",
    "qrcode-npm": "0.0.3",
    "reflect-metadata": "^0.1.3",
    "rxjs": "5.0.0-beta.6",
    "systemjs": "^0.19.17",
    "uk.co.workingedge.phonegap.plugin.launchnavigator": "^4.2.1",
    "underscore": "^1.8.3",
    "zone.js": "0.6.12"
  },
  "devDependencies": {
    "del": "2.2.0",
    "gulp": "3.9.1",
    "node-sass": "^4.5.3",
    "gulp-tap": "0.1.3",
    "gulp-template": "4.0.0",
    "gulp-watch": "4.3.5",
    "ionic-gulp-browserify-typescript": "^1.1.0",
    "ionic-gulp-fonts-copy": "^1.0.0",
    "ionic-gulp-html-copy": "^1.0.0",
    "ionic-gulp-sass-build": "^1.0.0",
    "ionic-gulp-scripts-copy": "^2.0.0",
    "run-sequence": "1.1.5",
    "tslint-ionic-rules": "0.0.8",
    "x2js": "^2.0.0",
    "xmldom": "^0.1.22"
  },
  "cordovaPlugins": [
    "cordova-plugin-device",
    "cordova-plugin-console",
    "cordova-plugin-whitelist",
    "cordova-plugin-splashscreen",
    "cordova-plugin-statusbar",
    "ionic-plugin-keyboard",
    "cordova-plugin-exitapp",
    "cordova-plugin-crosswalk-webview",
    "cordova-plugin-inappbrowser",
    "cordova-plugin-network-information",
    "cordova-plugin-tts",
    "uk.co.workingedge.phonegap.plugin.launchnavigator",
    "cordova-plugin-media",
    "cordova-plugin-geolocation",
    "phonegap-nfc",
    "phonegap-plugin-barcodescanner"
  ],
  "cordovaPlatforms": [
    "android",
    "ios",
    "windows"
  ],
  "jshintConfig": {
    "esnext": "true"
  },
  "cordova": {
    "plugins": {
      "cordova-plugin-whitelist": {},
      "cordova-plugin-device": {},
      "cordova-plugin-console": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-statusbar": {},
      "ionic-plugin-keyboard": {},
      "cordova-plugin-crosswalk-webview": {
        "XWALK_VERSION": "23+",
        "XWALK_LITEVERSION": "xwalk_core_library_canary:17+",
        "XWALK_COMMANDLINE": "--disable-pull-to-refresh-effect",
        "XWALK_MODE": "embedded",
        "XWALK_MULTIPLEAPK": "true"
      },
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-network-information": {},
      "cordova-plugin-tts": {},
      "uk.co.workingedge.phonegap.plugin.launchnavigator": {
        "LOCATION_USAGE_DESCRIPTION": "This app requires access to your location for navigation purposes"
      },
      "cordova-plugin-media": {
        "KEEP_AVAUDIOSESSION_ALWAYS_ACTIVE": "NO"
      },
      "cordova-plugin-geolocation": {},
      "phonegap-nfc": {
        "NFC_USAGE_DESCRIPTION": "Read NFC Tags"
      },
      "phonegap-plugin-barcodescanner": {
        "ANDROID_SUPPORT_V4_VERSION": "27.+"
      },
      "cordova-android-support-gradle-release": {
        "ANDROID_SUPPORT_VERSION": "24.+"
      },
      "cordova-plugin-exitapp": {},
      "cordova-plugin-contacts": {}
    },
    "platforms": [
      "windows",
      "android",
      "ios"
    ]
  }

Does any one know how i can update my project to be compatible with new permissions in ionic-native plugin?
https://ionicframework.com/docs/native/android-permissions/

I have many ionic-native usages in project.