You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从HTML访问Play Asset Delivery的安装时资源包内数据?

如何从index.html访问Google Play安装时资源包内的图片

安装时资源包(install-time asset packs)会被自动部署到应用的assets/asset_packs/<你的资源包名称>目录下,以下是具体访问步骤:

1. 确定资源的绝对路径

假设你的资源包名为image_pack,包内有一张background.jpg,那么它的本地访问路径为:
file:///android_asset/asset_packs/image_pack/background.jpg

2. 配置WebView允许访问本地资源

在Android代码中给WebView开启必要的权限,否则无法加载本地assets资源:

WebSettings webSettings = yourWebView.getSettings();
webSettings.setAllowFileAccess(true);
webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);

3. 在index.html中引用图片

本地index.html(存放在应用assets中)

直接在<img>标签里填写完整路径即可:

<img src="file:///android_asset/asset_packs/image_pack/background.jpg" alt="Background">

远程index.html

如果你的WebView加载的是远程页面,需要通过Android的JS接口暴露资源路径:

  • 先定义JS接口类:
class AssetPackUtils {
    @JavascriptInterface
    public String getImagePath(String packName, String imageFileName) {
        return "file:///android_asset/asset_packs/" + packName + "/" + imageFileName;
    }
}
  • 给WebView绑定接口:
yourWebView.addJavascriptInterface(new AssetPackUtils(), "AssetPackBridge");
  • 在远程HTML的JS中调用接口获取路径:
<img id="remote-img" alt="Remote Loaded Image">
<script>
    document.getElementById('remote-img').src = AssetPackBridge.getImagePath('image_pack', 'background.jpg');
</script>

注意事项

  • 资源包名称和文件路径严格区分大小写,拼写错误会导致加载失败
  • 若使用Android 11及以上版本,确保WebView的目标SDK版本适配相关文件访问规则

内容的提问来源于stack exchange,提问作者Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:22:45