You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android Studio中用普通JDK编译子项目并添加到Android应用?

实现方案

是可以实现的,你可以在Android项目内新增纯Java子模块,指定使用普通JDK编译产出JAR,再让主Android模块直接依赖该子模块即可,全程不需要额外的外部编译操作,修改jTDS源码后可以直接编译运行测试。

操作步骤

1. 创建纯Java子模块

在Android Studio中执行以下操作:

  • 右键项目根目录 → 点击「New」→ 选择「Module」
  • 模块类型选择「Java or Kotlin Library」,自定义模块名例如jtds-custom
  • 将你修改后的jTDS源码完整拷贝到该子模块的src/main/java目录下,保留原有的包层级结构
  • 如果jTDS包含资源配置文件,同步拷贝到子模块的src/main/resources目录下

2. 配置子模块编译规则

修改jtds-custom子模块下的build.gradle(Groovy格式示例,KTS格式语法对应调整即可):

plugins {
    id 'java-library'
}

java {
    // 指定和jTDS兼容的JDK版本,通常用JDK8即可,可根据你的实际需求调整
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

// 可选配置:自定义输出JAR的名称和版本
jar {
    archiveBaseName.set('jtds')
    archiveVersion.set('1.3.1-custom')
}

纯Java库模块默认不会使用Android SDK编译,会直接调用项目配置的普通JDK进行构建,因此org.ietf.jgss这类JDK原生包都可以正常识别,不会报类找不到的错误。

3. 主模块添加子模块依赖

修改主App模块的build.gradle,在依赖块中添加子模块依赖:

dependencies {
    // 保留原有其他依赖
    implementation project(':jtds-custom')
}

4. 冲突处理(可选)

如果编译过程中出现类重复或依赖冲突:

  • 先删除项目中之前导入的外部jTDS JAR包依赖,避免类重复
  • 如果jTDS依赖其他第三方组件,直接在jtds-custom子模块的dependencies块中添加对应依赖即可,运行时需要的依赖请用api声明,确保主模块可以正常访问

完成以上配置后,每次修改jTDS源码,直接运行主App项目就会自动触发子模块编译、打包JAR、合并到APK中,满足快速测试修改的需求。

内容的提问来源于stack exchange,提问作者TaylanKammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:12:00