(CORDOVA) 应用程序在发布模式下未连接到套接字 api
(CORDOVA) App is not connecting to sockets api in release mode
(注意:这只发生在标签 --release )
问题
我 cureently 构建了一个基于套接字连接的离子应用程序,当我处于调试模式时一切正常..但是当我移动到发布(--release 属性)时,该应用程序不再连接到 api端点。 sockets 正在发布消息 xhr poll error
预计会发生什么?
连接到 api 端点。
实际发生了什么?
未连接到 api 端点。
信息
我目前正在使用休闲包
"dependencies": {
"@angular/animations": "^8.2.14",
"@angular/common": "~8.1.2",
"@angular/core": "~8.1.2",
"@angular/forms": "~8.1.2",
"@angular/platform-browser": "~8.1.2",
"@angular/platform-browser-dynamic": "~8.1.2",
"@angular/router": "~8.1.2",
"@ionic-native/call-number": "^5.20.0",
"@ionic-native/core": "^5.19.1",
"@ionic-native/diagnostic": "^5.19.1",
"@ionic-native/file": "^5.19.1",
"@ionic-native/file-transfer": "^5.19.1",
"@ionic-native/geolocation": "^5.19.1",
"@ionic-native/google-maps": "^5.5.0",
"@ionic-native/http": "^5.19.1",
"@ionic-native/location-accuracy": "^5.19.1",
"@ionic-native/splash-screen": "^5.19.1",
"@ionic-native/status-bar": "^5.19.1",
"@ionic/angular": "^4.7.1",
"@ionic/storage": "^2.2.0",
"@mapbox/polyline": "^1.1.0",
"@types/socket.io": "^2.1.4",
"@types/socket.io-client": "^1.4.32",
"angular-laravel-echo": "git+https://github.com/chancezeus/angular-laravel-echo.git",
"call-number": "^1.0.1",
"cordova-android": "^8.1.0",
"cordova-plugin-advanced-http": "^2.3.1",
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-geolocation": "^4.0.2",
"cordova-plugin-googlemaps": "^2.6.2",
"cordova-plugin-request-location-accuracy": "git+https://github.com/razvang10/cordova-plugin-request-location-accuracy.git",
"cordova-sqlite-storage": "^4.0.0",
"cordova.plugins.diagnostic": "^5.0.1",
"core-js": "^2.5.4",
"laravel-echo": "^1.6.1",
"ngx-laravel-echo": "^1.0.26",
"rxjs": "^6.5.4",
"socket.io-client": "^2.3.0",
"tslib": "^1.9.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/architect": "~0.801.2",
"@angular-devkit/build-angular": "^0.803.23",
"@angular-devkit/core": "~8.1.2",
"@angular-devkit/schematics": "~8.1.2",
"@angular/cli": "8.1.3",
"@angular/compiler": "~8.1.2",
"@angular/compiler-cli": "~8.1.2",
"@angular/language-service": "~8.1.2",
"@ionic/angular-toolkit": "^2.1.1",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^5.2.1",
"cordova-plugin-device": "^2.0.3",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.1.3",
"cordova-plugin-splashscreen": "^5.0.3",
"cordova-plugin-statusbar": "^2.4.3",
"cordova-plugin-whitelist": "^1.3.4",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.5.1",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.4.3"
},
命令或代码
ionic cordova build android --release --prod
环境、平台、设备
平台:android
设备:任何
版本信息
科尔多瓦:9.0.0 (cordova-lib@9.0.1)
离子:6.1.0
操作系统:Windows
Android工作室:3.5
平台版本:API29
SDK: 26.1.1
看起来在 android api 级别 28 之后你不能使用除 443 之外的任何其他端口进行安全连接......因为它只会限制你在 relase 模式下的访问所以我改变了我的套接字端口从我所拥有的到 443,它有效。
(注意:这只发生在标签 --release )
问题
我 cureently 构建了一个基于套接字连接的离子应用程序,当我处于调试模式时一切正常..但是当我移动到发布(--release 属性)时,该应用程序不再连接到 api端点。 sockets 正在发布消息 xhr poll error
预计会发生什么?
连接到 api 端点。
实际发生了什么?
未连接到 api 端点。
信息
我目前正在使用休闲包
"dependencies": {
"@angular/animations": "^8.2.14",
"@angular/common": "~8.1.2",
"@angular/core": "~8.1.2",
"@angular/forms": "~8.1.2",
"@angular/platform-browser": "~8.1.2",
"@angular/platform-browser-dynamic": "~8.1.2",
"@angular/router": "~8.1.2",
"@ionic-native/call-number": "^5.20.0",
"@ionic-native/core": "^5.19.1",
"@ionic-native/diagnostic": "^5.19.1",
"@ionic-native/file": "^5.19.1",
"@ionic-native/file-transfer": "^5.19.1",
"@ionic-native/geolocation": "^5.19.1",
"@ionic-native/google-maps": "^5.5.0",
"@ionic-native/http": "^5.19.1",
"@ionic-native/location-accuracy": "^5.19.1",
"@ionic-native/splash-screen": "^5.19.1",
"@ionic-native/status-bar": "^5.19.1",
"@ionic/angular": "^4.7.1",
"@ionic/storage": "^2.2.0",
"@mapbox/polyline": "^1.1.0",
"@types/socket.io": "^2.1.4",
"@types/socket.io-client": "^1.4.32",
"angular-laravel-echo": "git+https://github.com/chancezeus/angular-laravel-echo.git",
"call-number": "^1.0.1",
"cordova-android": "^8.1.0",
"cordova-plugin-advanced-http": "^2.3.1",
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-geolocation": "^4.0.2",
"cordova-plugin-googlemaps": "^2.6.2",
"cordova-plugin-request-location-accuracy": "git+https://github.com/razvang10/cordova-plugin-request-location-accuracy.git",
"cordova-sqlite-storage": "^4.0.0",
"cordova.plugins.diagnostic": "^5.0.1",
"core-js": "^2.5.4",
"laravel-echo": "^1.6.1",
"ngx-laravel-echo": "^1.0.26",
"rxjs": "^6.5.4",
"socket.io-client": "^2.3.0",
"tslib": "^1.9.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/architect": "~0.801.2",
"@angular-devkit/build-angular": "^0.803.23",
"@angular-devkit/core": "~8.1.2",
"@angular-devkit/schematics": "~8.1.2",
"@angular/cli": "8.1.3",
"@angular/compiler": "~8.1.2",
"@angular/compiler-cli": "~8.1.2",
"@angular/language-service": "~8.1.2",
"@ionic/angular-toolkit": "^2.1.1",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^5.2.1",
"cordova-plugin-device": "^2.0.3",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.1.3",
"cordova-plugin-splashscreen": "^5.0.3",
"cordova-plugin-statusbar": "^2.4.3",
"cordova-plugin-whitelist": "^1.3.4",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.5.1",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.4.3"
},
命令或代码
ionic cordova build android --release --prod
环境、平台、设备
平台:android
设备:任何
版本信息
科尔多瓦:9.0.0 (cordova-lib@9.0.1)
离子:6.1.0
操作系统:Windows
Android工作室:3.5
平台版本:API29
SDK: 26.1.1
看起来在 android api 级别 28 之后你不能使用除 443 之外的任何其他端口进行安全连接......因为它只会限制你在 relase 模式下的访问所以我改变了我的套接字端口从我所拥有的到 443,它有效。