相关疑难解决方法(0)

从主模块的动态特征模块的可绘制文件夹访问图形

为了将我的游戏应用程序分解为 Instant 和 Installable 版本,我对动态模块拆分 API 交付感到满意。我一直在关注此处的 Codelabs 教程https://codelabs.developers.google.com/codelabs/on-demand-dynamic-delivery/index.html#0。不幸的是,它使用 Kotlin 作为 MainActivity 代码,该代码不如 Java 特定,但如果您已经完成了 Kotlin 教程,仍然可以很好地遵循。该示例包括使用以下内容访问“资产”功能模块中“资产”文件夹中的文本图块:

private const val packageName = "com.google.android.samples.dynamicfeatures.ondemand"

val assetManager = createPackageContext(packageName, 0).assets
// Now treat it like any other asset file.
val assets = assetManager.open("assets.txt")
val assetContent = assets.bufferedReader()
           .use {
               it.readText()
           }
Run Code Online (Sandbox Code Playgroud)

现在我只想访问动态功能模块的可绘制文件夹中的图形文件。我将只使用我的动态功能模块来存储大型图形,这些图形将使我超过 10 MG 的即时应用程序下载限制。什么是最干净的方法来做到这一点?

主要的“应用程序”模块:

在此处输入图片说明

“应用程序”中的 Java 代码:

loadTexture(R.drawable.aaa_image);

Bitmap bitmap;
public void loadTexture(final int resourceId){
    bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId, options);
    ***
Run Code Online (Sandbox Code Playgroud)

动态交付的“安装资产”模块:

在此处输入图片说明

'app'中的仍然是java代码,不会到达:

 loadTexture(R.drawable.testgraphic);
 cannot resolve symbol 'testgraphic'
Run Code Online (Sandbox Code Playgroud)

graphics android module dynamic-feature

5
推荐指数
2
解决办法
1187
查看次数

标签 统计

android ×1

dynamic-feature ×1

graphics ×1

module ×1