如何访问 Android 中的资产包数据 (kotlin)
How to access assets-pack data in Android (kotlin)
我使用资产包库在我的 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
这对我来说也毫无意义。我如何从资产包中访问资产?
好的,我找到解决办法了:Android工作室默认不下发资源包,需要在Run -> Edit configuration -> Deliver APK from app bundle
下调整配置(https://developer.android.com/guide/app-bundle/test)下发资源和应用程序。
现在可以访问资产,就好像它们是主应用程序的资产一样。
我使用资产包库在我的 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
这对我来说也毫无意义。我如何从资产包中访问资产?
好的,我找到解决办法了:Android工作室默认不下发资源包,需要在Run -> Edit configuration -> Deliver APK from app bundle
下调整配置(https://developer.android.com/guide/app-bundle/test)下发资源和应用程序。
现在可以访问资产,就好像它们是主应用程序的资产一样。