Android 两个module相互依赖

整体流程

首先,我们需要创建两个 Android Studio 项目,每个项目作为一个 module,然后将它们相互依赖,以实现代码共享和模块化。下面是整个流程的步骤:

步骤 操作
1 创建第一个 Android Studio 项目(ModuleA)
2 创建第二个 Android Studio 项目(ModuleB)
3 将 ModuleA 添加为 ModuleB 的依赖
4 在代码中使用 ModuleA 中的功能

操作步骤

第一步:创建第一个 Android Studio 项目(ModuleA)

在 Android Studio 中创建一个新的项目,命名为 ModuleA。在 ModuleA 的 build.gradle 文件中添加以下代码:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

第二步:创建第二个 Android Studio 项目(ModuleB)

在 Android Studio 中创建另一个新的项目,命名为 ModuleB。在 ModuleB 的 build.gradle 文件中添加以下代码:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

第三步:将 ModuleA 添加为 ModuleB 的依赖

在 ModuleB 的 build.gradle 文件中添加以下代码,将 ModuleA 作为依赖:

dependencies {
    implementation project(':ModuleA')
}

第四步:在代码中使用 ModuleA 中的功能

在 ModuleB 中的代码中,可以直接引用 ModuleA 中的类和资源文件。例如,如果 ModuleA 中有一个名为 Utils 的工具类,可以在 ModuleB 中这样使用:

import com.example.modulea.Utils;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 使用 ModuleA 中的 Utils 类
        Utils.doSomething();
    }
}

类图

classDiagram
    class ModuleA {
        -Utils
    }
    class ModuleB {
        +MainActivity
    }
    ModuleB ..> ModuleA

通过以上步骤,你就成功实现了在 Android Studio 中创建两个 module,并实现它们相互依赖的功能。希望这篇文章对你有所帮助!