【发布时间】:2020-10-20 02:44:03
【问题描述】:
我使用资产包库在我的 Android kotlin 应用中打包了一些资产:https://developer.android.com/guide/app-bundle/asset-delivery/build-native-java
我不应该能够通过context.assets 使用AssetManager 访问资产。但是,我不知道正确的路径是什么。
我的资产包名为models,并在.aab 文件的根文件夹中正确创建,所以我猜它也安装正确。
现在根据文档 (https://developer.android.com/guide/playcore/asset-delivery/integrate-java),我可以像这样访问资产:
import android.content.res.AssetManager;
...
Context context = createPackageContext("com.example.app", 0);
AssetManager assetManager = context.getAssets();
InputStream is = assetManager.open("asset-name");
我将包名更改为我的包名。但是资产名称是什么?!?这不是我的 models 资产文件夹中的文件名。我试过了
assetManager.list(p) 和 p 是我能想到的任何东西,但我找不到我的资产的存储位置。
对于p='',assetManager.list(p) 的结果是
hw_pc_white_apps.xml
hw_pc_white_apps_pad.xml
images
permission_grant_policy.xml
permission_grant_policy_oversea.xml
pfw
sfpconfig.json
ukeyapp.xml
water.frag
water.vert
webkit
wifi_policy.xml
wifipro_regexlist.xml
这对我来说也毫无意义。如何访问资产包中的资产?
【问题讨论】:
-
当然我尝试使用
assetManager.open("modelfile.dat")访问我的资产,但这会引发FileNotFoundExeption
标签: android kotlin android-assets