android之Cordova 5.3.1 Android 应用无法上网

我正在尝试在 android 上部署一个非常简单的 cordova 应用程序。它应该启动,然后通过角度 $http 拉入国家列表并显示它们。

由于某些原因它无法访问互联网,为了简化测试,我添加了一个图像标签来显示网络上的图像。图片也不显示。

我也无法连接到 jsconsole.com

我已经在真实设备和模拟器上对其进行了测试。在这两种情况下,应用程序都无法访问网络,但我可以在设备和模拟器上浏览网络。

我在 config.xml 中包含了以下内容

java 复制代码
<access origin="*" /> 

我还检查了生成的 AndroidManifest.xml 文件,它包含以下权限:

java 复制代码
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

我错过了什么?

这里是完整的配置文件:

java 复制代码
<?xml version="1.0" encoding="UTF-8"?> 
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" 
    id="com.domain.app" version="1.0.0"> 
    <name>app</name> 
 
    <description> 
        A sample Apache Cordova application that responds to the 
        deviceready 
        event. 
    </description> 
 
    <author href="http://www.eclipse.org/thym" email="thym-dev@eclipse.org"> 
        Eclipse.org - 
        Thym 
    </author> 
 
    <content src="index.html" /> 
 
    <access origin="*" /> 
    <preference name="fullscreen" value="true" /> 
    <preference name="webviewbounce" value="true" /> 
    <preference name="LogLevel" value="VERBOSE" /> 
 
 
    <feature name="App"> 
        <param name="android-package" value="org.apache.cordova.App" /> 
    </feature> 
    <feature name="Compass"> 
        <param name="android-package" 
            value="org.apache.cordova.deviceorientation.CompassListener" /> 
    </feature> 
    <feature name="Device Orientation"> 
 
    <param name="id" value="cordova-plugin-device-orientation" /></feature> 
    <feature name="Device"> 
        <param name="android-package" value="org.apache.cordova.device.Device" /> 
        <param name="id" value="cordova-plugin-device" /> 
    </feature> 
    <feature name="Notification"> 
        <param name="android-package" value="org.apache.cordova.dialogs.Notification" /> 
 
    <param name="id" value="cordova-plugin-dialogs" /></feature> 
    <feature name="NetworkStatus"> 
        <param name="android-package" 
            value="org.apache.cordova.networkinformation.NetworkManager" /> 
    </feature> 
    <feature name="Network Information"> 
        <param name="id" value="cordova-plugin-network-information" /> 
    </feature> 
 
    <engine name="android" version="4.1.0"/> 
</widget> 

这是 list 文件:

java 复制代码
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.domain.app" 
    android:hardwareAccelerated="true" 
    android:versionCode="100008" 
    android:versionName="1.0.0" > 
 
    <uses-sdk 
        android:minSdkVersion="14" 
        android:targetSdkVersion="22" /> 
 
    <supports-screens 
        android:anyDensity="true" 
        android:largeScreens="true" 
        android:normalScreens="true" 
        android:resizeable="true" 
        android:smallScreens="true" 
        android:xlargeScreens="true" /> 
 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
 
    <application 
        android:hardwareAccelerated="true" 
        android:icon="@drawable/icon" 
        android:label="@string/app_name" 
        android:supportsRtl="true" > 
        <activity 
            android:name="com.domain.app.MainActivity" 
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" 
            android:label="@string/activity_name" 
            android:launchMode="singleTop" 
            android:theme="@android:style/Theme.Black.NoTitleBar" 
            android:windowSoftInputMode="adjustResize" > 
            <intent-filter android:label="@string/launcher_name" > 
                <action android:name="android.intent.action.MAIN" /> 
 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 
</manifest> 

请您参考如下方法:
如果您使用的是 cordova 5 或更高版本,则应使用 whitelist plugin

您还应该将此添加到您的 config.xml 中:

java 复制代码
<allow-navigation href="*" /> 
<allow-intent href="*" /> 
<access origin="*" /> 

如果你愿意,你可以更具体一些。

并将此元数据添加到您的 index.html 或主页

java 复制代码
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
相关推荐
百锦再44 分钟前
第11章 泛型、trait与生命周期
android·网络·人工智能·python·golang·rust·go
会跑的兔子2 小时前
Android 16 Kotlin协程 第二部分
android·windows·kotlin
键来大师2 小时前
Android15 RK3588 修改默认不锁屏不休眠
android·java·framework·rk3588
江上清风山间明月5 小时前
Android 系统超级实用的分析调试命令
android·内存·调试·dumpsys
百锦再5 小时前
第12章 测试编写
android·java·开发语言·python·rust·go·erlang
用户69371750013848 小时前
Kotlin 协程基础入门系列:从概念到实战
android·后端·kotlin
SHEN_ZIYUAN9 小时前
Android 主线程性能优化实战:从 90% 降至 13%
android·cpu优化
曹绍华9 小时前
android 线程loop
android·java·开发语言
雨白9 小时前
Hilt 入门指南:从 DI 原理到核心用法
android·android jetpack
介一安全9 小时前
【Frida Android】实战篇3:基于 OkHttp 库的 Hook 抓包
android·okhttp·网络安全·frida