NativeScript / android

NativeScript for Android using v8
https://docs.nativescript.org/guide/android-marshalling
Apache License 2.0
519 stars 135 forks source link

Nativescript 6x is failing/crashing while upgrading to android targetSdkVersion 31. #1761

Closed srikanthuppena98 closed 1 year ago

srikanthuppena98 commented 1 year ago

Hi I'm unable to upgrade my nativescript android from targetSdkVersion 29 to 31, app is crashing on the page where I use multipartUpload, I tried all possible solutions from online but none of them got worked.

Nativescript cli: 6.8.0, tns-core-modules: 6.5.20 tns-android: 6.5.3

I tried updating the nativescript-background-http to @nativescript/background-http: 6.0.0 then app is not crashing but there is different error "JS: ERROR TypeError: Cannot read property 'NotificationConfig' of undefined"

Package.json

{ "scripts": { "clean": "tns platform clean ios && tns platform clean android", "android": "tns run android --env.aot", "ios": "tns run ios --env.aot", "ios-prod": "tns run ios --env.aot --env.name=production", "android-prod": "tns run android --env.aot --env.name=production", "deploy": "./appcenter_deploy.sh ", "lint": "tslint \"src/*/.ts\"" }, "dependencies": { "@angular/animations": "~8.2.0", "@angular/common": "~8.2.0", "@angular/compiler": "~8.2.0", "@angular/core": "~8.2.0", "@angular/forms": "~8.2.0", "@angular/http": "8.0.0-beta.10", "@angular/platform-browser": "~8.2.0", "@angular/platform-browser-dynamic": "~8.2.0", "@angular/router": "~8.2.0", "@ngx-translate/core": "^11.0.1", "@ngx-translate/http-loader": "^4.0.0", "@ngxs-labs/emitter": "^2.0.0", "@ngxs/store": "^3.6.1", "@nstudio/nativescript-cardview": "^1.0.0", "@nstudio/nativescript-checkbox": "^1.0.0", "@nstudio/nativescript-loading-indicator": "3.0.4", "@nstudio/nativescript-pulltorefresh": "^1.1.1", "ajv": "^6.10.0", "base-64": "^0.1.0", "bootstrap": "^4.3.1", "core-js": "3.4.1", "d3-ease": "^1.0.6", "i": "^0.3.6", "jquery": "^3.4.1", "moment": "^2.24.0", "nativescript-android-utils": "^1.0.2", "nativescript-angular": "^8.20.1", "nativescript-appavailability": "^1.3.2", "nativescript-appversion": "^1.4.2", "nativescript-audio": "^5.0.5", "nativescript-azure-mobile-apps": "^2.0.3", "nativescript-background-http": "^4.2.0", "nativescript-camera": "^4.5.0", "nativescript-drawingpad": "^3.1.0", "nativescript-drop-down": "^5.0.4", "nativescript-email": "^1.5.5", "nativescript-exit": "^1.0.1", "nativescript-fingerprint-auth": "^7.0.2", "nativescript-geolocation": "^5.1.0", "nativescript-imagepicker": "^7.1.0", "nativescript-iqkeyboardmanager": "^1.5.1", "nativescript-local-notifications": "^4.1.5", "nativescript-mediafilepicker": "^3.0.1", "nativescript-microsoft-appcenter": "^2.0.0", "nativescript-permissions": "^1.3.8", "nativescript-phone": "^1.4.0", "nativescript-photo-editor": "^1.1.0", "nativescript-plugin-firebase": "^10.3.1", "nativescript-secure-storage": "^2.6.0", "nativescript-swiss-army-knife": "^4.0.2", "nativescript-theme-core": "^2.0.24", "nativescript-toasty": "^3.0.0-alpha.2", "nativescript-ui-calendar": "^6.0.0", "nativescript-ui-dataform": "^6.0.0", "nativescript-ui-listview": "^8.0.0", "nativescript-ui-sidedrawer": "^8.0.0", "npm": "^6.14.4", "popper.js": "^1.15.0", "reflect-metadata": "~0.1.12", "rxjs": "^6.4.0", "tns-core-modules": "^6.5.20", "zone.js": "^0.9.1" }, "devDependencies": { "@angular-devkit/build-angular": "^0.901.0", "@angular/cli": "^8.3.18", "@angular/compiler-cli": "~8.2.0", "@nativescript/schematics": "~0.7.3", "@ngtools/webpack": "~8.2.0", "@types/d3-ease": "^1.0.9", "@types/jasmine": "2.8.6", "@types/jasminewd2": "~2.0.3", "@types/node": "12.6.3", "codelyzer": "^5.0.1", "nativescript-dev-webpack": "^1.5.1", "node-sass": "^4.13.1", "protractor": "^6.0.0", "tns-android": "6.5.3", "tns-ios": "6.5.6", "tns-platform-declarations": "6.4.2", "ts-node": "8.5.0", "tslint": "5.18.0", "typescript": "3.4.5" }, }

Please can anyone suggest a solution for this, it would really help me alot alot alot. THANKS

edusperoni commented 1 year ago

Adding some context: Nativescript 7 was released in August of 2020, almost 3 years ago. Android 12 (API 31) was released in October of 2021.

Many of the plugins you're using have had updates to work with latest Android versions on the last 3 years. Since your error is in the background upload plugin, the issue isn't even android runtime related.

I suggest updating your app's dependencies if you intend to keep up with latest Android and iOS OS versions

srikanthuppena98 commented 1 year ago

@edusperoni can you tell me which package I have to update to fix this "JS: ERROR TypeError: Cannot read property 'NotificationConfig' of undefined"

Is it possible to resolve the issue with the nativescript 6x version or I have to upgrade this to 7 or 8