前提・実現したいこと
この度Ionic4 で Androidアプリの開発を行うことになりました。
ionic serve コマンドで実行する分には正常に動作するのですが、
Android端末実機での動作を行うとエラーとなります。
発生している問題・エラーメッセージ
ERROR Error: Uncaught (in promise): Http failure response for http://*.*.*.*:5801/ZIK1010/GetOperator: 0 Unknown Error at resolvePromise (polyfills-es2015.js:4147) at polyfills-es2015.js:4057 at rejected (polyfills-es2015.js:3198) at ZoneDelegate.invoke (polyfills-es2015.js:3709) at Object.onInvoke (vendor-es2015.js:73299) at ZoneDelegate.invoke (polyfills-es2015.js:3708) at Zone.run (polyfills-es2015.js:3474) at polyfills-es2015.js:4205 at ZoneDelegate.invokeTask (polyfills-es2015.js:3741) at Object.onInvokeTask (vendor-es2015.js:73280) OPTIONS http://*.*.*.*:5801/ZIK1010/GetOperator net::ERR_CLEARTEXT_NOT_PERMITTED
試したこと
Android9からhttp通信がデフォルトではできないといことまでは調べ、config.xmlを以下のように修正を行いました。
befor
1<platform name="android"> 2 <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android"> 3 <application android:networkSecurityConfig="@xml/network_security_config" /> 4 </edit-config> 5 <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" /> 6 <allow-intent href="market:*" /> 7</platform>
after
1<platform name="android"> 2 <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android"> 3 <application android:networkSecurityConfig="@xml/network_security_config" android:usesCleartextTraffic="true"/> 4 </edit-config> 5 <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" /> 6 <allow-intent href="market:*" /> 7</platform>
これによりAndroidManifest.xmlに"usesCleartextTraffic"が追加されたことは確認しましたが、やはり同じエラーとなります
AndroidManifest
1<?xml version='1.0' encoding='utf-8'?> 2<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="io.ionic.starter" xmlns:android="http://schemas.android.com/apk/res/android"> 3 <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" /> 4 <uses-permission android:name="android.permission.INTERNET" /> 5 <application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config" android:supportsRtl="true" android:usesCleartextTraffic="true"> 6 <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize"> 7 <intent-filter android:label="@string/launcher_name"> 8 <action android:name="android.intent.action.MAIN" /> 9 <category android:name="android.intent.category.LAUNCHER" /> 10 </intent-filter> 11 </activity> 12 </application> 13</manifest>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。