Android 设备上的“找不到网页”“找不到文件:///android_asset/html-nl/index.html”错误
Posted
技术标签:
【中文标题】Android 设备上的“找不到网页”“找不到文件:///android_asset/html-nl/index.html”错误【英文标题】:"Webpage not found" "file:///android_asset/html-nl/index.html not found" error on android device 【发布时间】:2013-07-23 17:06:27 【问题描述】:我的 android 应用正在使用 phonegap 2.7 和barcodescanner 插件。当我使用模拟器对其进行测试时,一切正常。
但是,当我在我的设备上测试它时,我第一次点击“扫描”时,它会重定向到一个页面,上面写着:
"网页不可用:网页 file:///android_asset/html-nl/index.html 无法加载”。
(我翻译了这个,所以使用英语设备时错误可能会略有不同)
当我点击继续时,应用程序继续正常运行。奇怪的是,这只发生在我第一次安装应用程序时。当我第二次点击“扫描”时,一切正常。
(一部分)我的代码: AppActivity.Java
package com.myapp.app;
import org.apache.cordova.DroidGap;
import android.os.Bundle;
public class AppActivity extends DroidGap
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
index.html(在 assets/www 中):
<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>
<script type="text/javascript" src="barcodescanner.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>Testing!</h1>
<a href="#" onclick="scanCode();">Scan Code</a>
</body>
</html>
在 main.js 中,有 scanCode() 函数:
var scanCode = function()
window.plugins.barcodeScanner.scan(
scanSuccess,
function(error)
alert("Scan failed: " + error);
);
;
额外信息:我的母语缩写是“nl”......可能与它无关,但我想我会让你们知道......
提前致谢!
编辑:它可能与语言有关...这个主题描述了完全相同的问题...:http://www.anddev.org/other-coding-problems-f5/problem-with-scanner-in-motorola-xt320-t2178445.html
但是没有解决方案:(
编辑:用我的语言设置为英语对其进行了测试。实际上,它显示: 无法加载位于 file:///android_asset/html-en/index.html 的网页。我发现问题出在扫描仪上。每次安装后第一次触发时,它都会重定向到该页面...... ZXing 可能正在尝试访问这个:https://github.com/zxing/zxing/blob/master/android/assets/html-en/index.html。不知道为什么,没有对源代码做任何改动。
【问题讨论】:
【参考方案1】:解决方案: 我发现 ZXing 在安装新版本的应用程序时会自动加载 HelpActivity。 在该活动中,重定向到 html-userlanguage。 易于修复:只需告诉脚本(在 com.google.zxing.client.android 中)不要加载 HelpActivity。
【讨论】:
【参考方案2】:问题是在将应用程序安装到设备时, .apk 文件中没有打包 android/assets 文件夹。我正在使用 Android Studio,所以这就是我在 build.gradle 文件中的内容:
机器人 compileSdkVersion 16 buildToolsVersion "17.0.0"
defaultConfig
minSdkVersion 13
targetSdkVersion 16
sourceSets
main
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
无需修改HelpActivity.java。
【讨论】:
以上是关于Android 设备上的“找不到网页”“找不到文件:///android_asset/html-nl/index.html”错误的主要内容,如果未能解决你的问题,请参考以下文章