android 防止模块之间的资源id冲突

6ioyuze2  于 12个月前  发布在  Android
关注(0)|答案(1)|浏览(99)

我有以下项目设置:

MyProjectApp/app/src/main/res/layout/main_activity.xml (layout1)
MyProjectApp/module1/src/main/res/layout/main_activity.xml (layout2)

现在在我的module1中,当我尝试执行setContentView(R.layout.main_activity);时,它从app加载布局。为了解决这个问题,我可以重命名我的 * layout2 *,这样就不会有名称冲突。
我的问题是,当我以AAR格式发布我的module1时,仍然存在名称冲突的可能性,因为另一个项目设置可能会将自己的layout1命名为与我在AAR中的布局相同的名称。
好吧,我可以将我的layout2重命名为一个非常随机的名称,但我不希望这样。我想要一个简单的布局名称,如 * main_activity *。
所以问题是,我如何确保当我在module1中执行setContentView(R.layout.main_activity);时,它会加载layout2文件?

v440hwme

v440hwme1#

我没有找到任何解决方案。我甚至尝试关闭非传递R类,但没有工作。
最后,我将module1的布局文件重命名为下面的blog post

MyProjectApp/module1/src/main/res/module1_main_activity.xml

相关问题