Android Studio导入其他java library作为app module依赖库

Android Studio导入其他java library作为app module依赖库

在 Android Studio 中,一个 App 模块引用另一个 Java Library 模块的过程主要包括创建 Java Library 模块配置模块依赖同步项目使用依赖中的类四个核心步骤,具体如下:

1. 创建 Java Library 模块(若已有则跳过)

  • 打开 Android Studio 项目,点击 File > New > New Module
  • 在弹出的窗口中选择 Java or Kotlin Library,点击 Next
  • 填写模块名称(如 mylibrary)、包名(如 ***.example.mylibrary),选择语言为 Java,点击 Finish
  • 生成的 Java Library 模块会包含基础目录结构(src/main/java 存放源码),默认使用 java-library 插件(在其 build.gradle.kts 中可见)。

2. 在 Java Library 中编写代码

  • 在 Java Library 模块的 src/main/java/[包名] 下创建工具类或业务类,例如:
    // 路径:mylibrary/src/main/java/***/example/mylibrary/MyUtils.java
    package ***.example.mylibrary;
    
    public class MyUtils {
        public static int add(int a, int b) {
            return a + b;
        }
    }
    
  • 确保类和方法使用 public 修饰(以便跨模块访问)。

3. 在 App 模块中添加依赖

  • 打开 App 模块(通常名为 app)的 build.gradle.kts(或 build.gradle)。
  • dependencies 代码块中添加对 Java Library 模块的依赖:
    // app/build.gradle.kts
    dependencies {
        // 引用名为 "mylibrary" 的 Java Library 模块
        implementation(project(":mylibrary"))
        
        // 其他依赖(如 Android 支持库)
    }
    
  • 点击右上角 Sync Now 同步项目,使依赖生效。

4. 在 App 模块中使用 Java Library 的代码

  • 在 App 模块的代码(如 MainActivity)中,导入 Java Library 中的类并使用:
    // 路径:app/src/main/java/***/example/myapp/MainActivity.java
    import android.os.Bundle;
    import androidx.app***pat.app.App***patActivity;
    import ***.example.mylibrary.MyUtils; // 导入 Java Library 中的类
    
    public class MainActivity extends App***patActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            // 调用 Java Library 中的方法
            int result = MyUtils.add(2, 3);
            // 后续使用 result...
        }
    }
    

5. 特殊场景:运行 main 方法时的配置(若需)

  • 若在 App 模块中通过 main 方法(非 Android 组件)调用 Java Library,需确保运行配置的类路径包含 Java Library 模块:
    1. 打开运行配置:Run > Edit Configurations
    2. 点击Modify options, 点击下拉的Modify classpath
    3. 点击 + 号,需要添加的是你依赖的 Java Library 模块的编译输出路径,具体来说是该模块编译后生成 .class 文件的目录。

对于 Java Library 模块(如 test 模块),正确的路径通常是:

[模块名称]/build/classes/java/main

例如:

  • 若模块名为 test,则路径为 test/build/classes/java/main
  • 若模块名为 dbscan_test,则路径为 dbscan_test/build/classes/java/main

为什么要添加这个路径?

JVM 运行时需要通过类路径(Classpath)找到所有依赖的 .class 文件。Java Library 模块的代码编译后会生成 .class 文件并保存在 build/classes/java/main 目录下,只有将这个目录添加到运行配置的 Classpath 中,JVM 才能找到该模块中的类(如 MyClass)。

注意:

  • 不要添加源码路径(如 src/main/java),必须添加编译后的输出路径build/classes/...)。
  • 如果模块名称或项目结构不同,路径可能略有差异,但核心是找到包含 .class 文件的 main 目录。

添加后重新运行 main 方法,JVM 就能正确加载依赖模块中的类了。

核心原理

  • Java Library 模块被编译为字节码(.class 文件),App 模块通过依赖配置将其纳入编译和运行路径。
  • Android Studio 会自动处理模块间的依赖关系,确保编译时能找到 Java Library 中的类,运行时能正确加载。

通过以上步骤,App 模块即可复用 Java Library 中的代码,实现功能拆分和复用。

转载请说明出处内容投诉
CSS教程网 » Android Studio导入其他java library作为app module依赖库

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买