将 .aar 库中的资源与 android.nonTransitiveRClass = true 配合使用

Use resource from .aar library with android.nonTransitiveRClass = true

提问人:yglass6062 提问时间:10/18/2023 更新时间:10/18/2023 访问量:52

问:

关于我的情况:

我通过将 .aar 文件(mobilertc.aar、commonlib.aar)添加到项目中来使用 ZoomSDK。在模块中,我使用了文件中的一些资源(如R.drawable.zm_transparent、R.layout.zm_rc_fingers_question,...) 我的项目使用 Android Gradle 插件 8.1,因此是默认的,因此资源文件出错。:appmobilertc.aarandroid.nonTransitiveRClasstrueUnresolved reference

如果我在文件中设置,我的代码运行良好,这些错误消失了。但是输出apk大小太大,所以我想继续为我的项目启用。android.nonTransitiveRClassfalsegradle.propertiesnonTransitiveRClass

我的问题:如何使用.aarandroid.nonTransitiveRClass = true

安卓 android-gradle-plugin 缩放-SDK

评论

1赞 Kishan Maurya 10/18/2023
您必须从mobilertc模块给出完整的路径。com.zoom.mobile.R.drawable.zm_transparent ..请使用正确的软件包名称
0赞 yglass6062 10/18/2023
谢谢你帮助我。但是我找不到.aar文件的R类的包名称。mobilertc 是 .aar 文件,不是普通模块
0赞 Kishan Maurya 10/18/2023
由于您的项目(libs 文件夹)中有 mobilertc.aar 文件,并在 build.gradle 文件中添加了它们的实现,因此您可以调用它们的类。您可以在从mobilertc aar文件中调用任何方法的地方添加代码吗?
0赞 yglass6062 10/19/2023
不是真的,我可以访问方法、变量、所有公开的和用 libs 中的 kotlin/java 编写的内容,但不能访问资源。我发现我可以从 XML 代码中的 mobile.aar 文件访问资源,但不能从 java 或 kotlin 代码访问资源。我的 kotlin 代码访问 .aar 文件中的资源非常简单:setBackgroundResource(R.drawable.zm_rc_drawer) inflater.inflate(R.layout.zm_rc_float_view, this)
0赞 yglass6062 10/19/2023
这些代码在编译时出错。但是在XML文件中,我可以使用这些文件,例如Unresolved reference:app<include layout="@layout/zm_rc_float_view"/>

答: 暂无答案