项目结构就像这样
现在,由于模块1和模块2具有需要从主模块调用的自己的活动,因此存在循环依赖性问题。主模块需要调用模块1中的活动,模块1需要来自Main的一些代码。
那么如何使用gradle在Android Studio中解决这类依赖问题?
答案 0 :(得分:1)
将两个增强模块使用的公共代码移动到另一个模块,并创建两个应用程序模块:
common
enhancement 1
取决于common
enhancement 2
取决于common
app 1
取决于enhancement 1
app 2
取决于enhancement 2
如果需要,创建另一个模块common-app
以包含两个应用程序之间共享的公共代码。
答案 1 :(得分:0)
您可以通过隐式Intent
进行此操作。
假设您希望Module1中的Activity1启动Module2中的Activity2,但您不能这样做,因为那样会导致循环依赖。
转到Module2中的AndroidManifest.xml
并将android:exported="true"
设置为Activity2的属性。然后,在Activity1中,执行以下操作:
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.example.module2", "com.example.module2.Activity2"));
startActivity(intent);
finish();