2011-03-19 50 views
5

我有一個運輸Android應用程序,它顯示資產文件夾中包含的偶然靜態網頁。我一直在顯示這些程序,如:android_asset不工作在蜂窩?

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

所以,我開始嘗試。蜂窩模擬器顯示這些頁面很好,但我的實際蜂窩設備(運行3.0.1)始終顯示此錯誤。我可以使用AssetManager讀取網頁,然後使用loadDataWithBaseURL()顯示它,但是網頁中的圖像鏈接無法加載(大概是因爲它找不到圖像文件的路徑)。

任何想法是什麼改變,以及如何處理?

回答

6

嘗試刪除該空間。 This projectthis project在我的XOOM上都能正常工作。

+0

果然,空間是問題 - 奇怪的是,在SDK的所有早期版本中似乎都完全正常。嗯...謝謝你的幫助! – 2011-03-20 00:22:31

+0

@Jeff Hay:嗯,這可能是一種迴歸,雖然它可能是迴歸到標準的迴歸。我對這個空間進行了有根據的猜測,因爲你的'file:/// android_asset/path /到/ file.html'不是一個有效的URL。你可以嘗試手動將URL轉義到%20,看看是否有幫助 - 我從來沒有嘗試過。 – CommonsWare 2011-03-20 01:35:02

+2

是的,我實際上已經試過在發佈問題之前手動轉義到%20 - 以及通過URLEncoder運行它,兩者都不起作用。謝謝您的幫助。 – 2011-03-21 04:29:45

4

對我來說,問題是我用maven編譯。隨着maven你的資產應該進入src/main/resources/assets,我讓他們在src/main/resources - 這顯然是錯誤的。

蜂窩似乎對此更加嚴格。如果您沒有使用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 
+0

+1對於'教導開發者釣魚'式的回答。從來沒有真正想過只是打開apk和前面看內部。 Windows開發者注意:即使將擴展名更改爲.zip,我也無法使用默認的Windows提取器打開apk。雖然下載了可靠的老式7-zip,但它並沒有讓我看到裏面的文件。 – 2015-05-12 14:50:04