我的項目中包含一個庫,該庫包含資產目錄中的一些資產。 在Android 7上運行應用程序時,它運行良好,webview加載資產的情況良好。今天我已經測試了Kitkat(API 19)上的應用程序,並且加載的資源如file://android_asset/someAsset.png
未加載。無法在Android上的WebView中訪問資產KitKat
我檢查了爲我的庫創建的aar文件,它包含這些文件[顯然,因爲APK在Android 7上工作正常]。
這裏是我的網絡設置:
WebSettings s = getSettings();
s.setAllowFileAccess(true);
s.setSupportZoom(false);
s.setBuiltInZoomControls(false);
s.setDomStorageEnabled(true);
s.setJavaScriptCanOpenWindowsAutomatically(true);
s.setUseWideViewPort(true);
s.setLoadWithOverviewMode(true);
s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
s.setJavaScriptEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
s.setMediaPlaybackRequiresUserGesture(false);
}
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
s.setAllowFileAccessFromFileURLs(true);
s.setAllowUniversalAccessFromFileURLs(true);
}
s.setGeolocationEnabled(false);
我得到的調試時,Chrome是錯誤:File not found
。
我讀過一些SO上發佈的問題,這些問題涉及到IntelliJ設置:"Include assets from dependencies into APK"
這在Android Studio中不再存在。然而,我發現這個文檔頁面:https://developer.android.com/studio/projects/android-library.html這表明,在添加
dependencies {
compile project(':myLib')
}
足以提供資產主體工程[和顯然不行,因此AAR內容。
不過,我無法獲得這些資源顯示。
我也嘗試將資產目錄從庫複製到主項目,但仍然沒有運氣。他們不是由webview加載,我得到相同的錯誤。
試試'file:///',而不是'file://'。我一直從資產加載內容到'WebView'沒有問題。參見[我的書](https://commonsware.com/Android)[教程#12](https://github.com/commonsguy/cw-omnibus/tree/master/EmPubLite-AndroidStudio/T12-Book/EmPubLite) ), 例如。 – CommonsWare