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'">
相关推荐
CYRUS_STUDIO6 分钟前
手把手教你改造 AAR:解包、注入逻辑、重打包,一条龙玩转第三方 SDK!
android·逆向
CYRUS_STUDIO1 小时前
Android 源码如何导入 Android Studio?踩坑与解决方案详解
android·android studio·源码阅读
前端赵哈哈2 小时前
初学者入门:Android 实现 Tab 点击切换(TabLayout + ViewPager2)
android·java·android studio
一条上岸小咸鱼5 小时前
Kotlin 控制流(二):返回和跳转
android·kotlin
Jasonakeke5 小时前
【重学 MySQL】九十二、 MySQL8 密码强度评估与配置指南
android·数据库·mysql
Mertrix_ITCH5 小时前
在 Android Studio 中修改 APK 启动图标(2025826)
android·ide·android studio
荏苒追寻5 小时前
Android OpenGL基础1——常用概念及方法解释
android
人生游戏牛马NPC1号5 小时前
学习 Android (十七) 学习 OpenCV (二)
android·opencv·学习
恋猫de小郭6 小时前
谷歌开启 Android 开发者身份验证,明年可能开始禁止“未经验证”应用的侧载,要求所有开发者向谷歌表明身份
android·前端·flutter
用户096 小时前
Gradle声明式构建总结
android