8

我正在尝试实现动态交付类型的应用程序。首先,我创建新项目,然后为此创建模块以获取动态步骤

从菜单栏和 Create New Module 对话框中选择 File > New > New Module,选择 Dynamic Feature Module 并单击 Next。
文件夹结构

我创建类并希望访问资源文件夹以使用布局、可绘制文件夹。

也在主模块 gradle 中实现

实现 'com.google.android.play:core:1.2.0' 和 dynamicFeatures = [":dynamic_feature"]

但是动态模块出现 错误错误显示

错误:找不到符号变量 activity_main
错误:找不到符号变量 iv_forward
错误:找不到符号变量 seekBar

https://developer.android.com/studio/projects/dynamic-delivery https://proandroiddev.com/dynamic-feature-module-android-ondemand-module-android-app-bundle-ea0d872b32d

4

3 回答 3

3

对于那些面临同样问题的人:您只能从基本模块中获取资源。利用:

com.example.base_module.R.drawable.item

而是关闭默认值R.drawable.item

于 2019-04-12T13:45:23.813 回答
1

如果您在动态功能模块中并尝试访问另一个模块的可绘制对象。您应该添加该模块的包名称(其中可绘制)作为前缀,如下所示

                btnOk.setImageResource(com.example.mysampleproject.R.drawable.Ok)
于 2021-05-25T10:00:16.467 回答
0

这个问题在我看来像是一个重构相关的导入问题。

将代码移动到不同的模块时,请确保

  1. 移动相关布局资源文件
  2. 更新导入以匹配新的包名称

虽然 1. 不是绝对必要的,但将非共享布局文件与显示它们的代码放在同一模块中是一种很好的做法。

于 2018-12-17T16:45:49.057 回答