【问题标题】:How to access assets-pack data in Android (kotlin)如何在 Android (kotlin) 中访问资产包数据
【发布时间】: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


【解决方案1】:

好的,我找到了解决办法:Android Studio默认不下发asset pack,需要在Run -> Edit configuration -> Deliver APK from app bundle(https://developer.android.com/guide/app-bundle/test)下调整配置才能下发assets和app。

现在资产可以像主应用程序的资产一样访问。

【讨论】:

  • 那么你如何在测试中访问它,意味着我正在使用“fast_follow”资产包,所以我需要下载文档中描述的广告,因为它显示找不到包,如果编辑配置的东西已经交付它然后如何在测试时访问它,因为使用文件路径不起作用,因为我们没有像在发布中那样下载它......请帮助我
  • 对不起,我没有答案。也许提出一个问题,以便了解更多细节的人可以帮助您。
  • @GenError 你能回答这个stackoverflow.com/questions/67119885/…
  • 那么 createPackageContext 的名称是 APPLICATION 而不是资产包的名称?不是models,而是AndroidManifest.xml<manifest package="..." > 中列出的您的应用程序包名称,而您要打开的文件在models\modelfile.dat 中?我两个都正确吗?
  • 是的,据我了解,资产包仅用于在应用程序“外部”拆分数据,例如用于通过 Play 商店分发。在应用程序中,所有资产都可以直接访问,就好像它们是随应用程序一起交付的一样。
猜你喜欢
  • 2021-01-02
  • 2013-07-14
  • 2023-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多