5

我有一个发布的 Android 应用程序,它偶尔显示包含在 assets 文件夹中的静态网页。我一直在以编程方式显示这些,例如:

webView = new WebView(PKBDocument.KnowledgeBook.KBContext);
setContentView(webView);
webView.loadUrl("file:///android_asset/path/to the/file.html");

这适用于 API 级别 3 - 9。我最近收到了闪亮的新 Xoom 并尝试运行相同的应用程序,但出现错误

The webpage at file:///android_asset/path/to%20the/file.html might be temporarily down or it may have moved permanently to a new web address

于是,我开始尝试。Honeycomb 模拟器可以很好地显示这些页面,但我的实际蜂窝设备(运行 3.0.1)始终显示此错误。我可以使用 AssetManager 读取网页,然后使用 显示它loadDataWithBaseURL(),但是网页中的图像链接无法加载(可能是因为它找不到图像文件的路径)。

知道发生了什么变化,以及如何处理吗?

4

2 回答 2

6

尝试删除空间。这个项目这个项目都在我的 XOOM 上运行良好。

于 2011-03-19T23:58:48.120 回答
4

对我来说,问题是我用 maven 编译。使用 maven,你的资产应该进入src/main/resources/assets,而我把它们放进去src/main/resources——这显然是错误的。

看来 Honeycomb 对此更加严格。如果您不使用 Maven,请列出您的 apk 文件中的文件(就像 zip 文件一样)并检查资产目录中的资产是否正确:

7z l target/*.jar

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=utf8,Utf16=on,HugeFiles=on,8 CPUs)

Listing archive: target/HP45-Droid-5.0.0.jar

--
Path = target/HP45-Droid-5.0.0.jar
Type = zip
Physical Size = 465392

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2012-01-01 19:07:10 D....            0            0  META-INF
2012-01-01 19:07:08 .....          125          102  META-INF/MANIFEST.MF
2012-01-01 19:07:06 D....            0            0  assets
2012-01-01 19:07:06 .....        93692        93629  assets/45bk.jpg
2012-01-01 19:07:06 .....         3467         1408  assets/help.html
于 2012-01-01T17:29:36.960 回答