libs 目录 → Gradle 依赖管理

libs 目录 → Gradle 依赖管理

老写法(Java --- 手动放 jar/aar)

markdown 复制代码
app/
  libs/
    okhttp-4.9.0.jar
    gson-2.10.1.jar
    custom-sdk.aar
groovy 复制代码
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}

问题在哪里

jar 文件放在 libs 目录里,没有版本可追溯性。团队协作时不知道这个 jar 是哪来的、什么版本、有没有安全漏洞。升级时手动替换文件,容易忘、容易错。aar 文件手动管理还会漏依赖的传递依赖。

新写法(Gradle 远程依赖 + maven 仓库)

kotlin 复制代码
dependencies {
    // 公开库 --- 全部换成远程依赖
    implementation("com.squareup.okhttp3:okhttp:4.12.0")
    implementation("com.google.code.gson:gson:2.10.1")

    // 私有库 --- 搭私有 maven 仓库或用 GitHub Packages
    implementation("com.company:custom-sdk:1.2.0")
}

// settings.gradle.kts 加私有仓库
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://maven.company.com/releases") }
    }
}

一句话注意

本地 jar 迁移第一件事:确定这个 jar 的 Maven 坐标(groupId:artifactId:version)。绝大多数公开库都能在 mavenCentral 或 Google's Maven 上找到同名坐标。少数内部 SDK 或已废弃的库,建议放到内网私有 maven 仓库(Nexus、Artifactory、GitHub Packages)管理。

如果某个本地 jar 找不到远程来源且无法搭私有仓库,最低底线是给 jar 文件重命名加上版本号(如 okhttp-4.9.0.jar),并在项目文档里记录来源和引入原因。


Java Android 老项目迁移系列,持续更新中。

相关推荐
松仔log43 分钟前
Kotlin中级——callbackFlow
java·前端·kotlin
zh_xuan1 小时前
kotlin常见面试题
开发语言·kotlin·面试题
mmsx1 小时前
耳切法切带洞多边形:论文能跑通,真实数据为什么崩
android·kotlin
洞见前行1 小时前
你的 Activity 关了,为什么还活着?Android 内存泄漏从发现、定位到线上治理
android·性能优化·leakcanary
知守观1 小时前
同一个团队两套分包:DDD 四层落地后,domain 层最大的类还是 5885 行
java·后端·领域驱动设计
文丑颜不良啊2 小时前
LeetCode2541~2560题目解析
java·leetcode
瑞雪兆丰年兮2 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
Highcharts.js2 小时前
Highcharts智能数据分析平台Orbit 多语言配置技术文档
java·前端·javascript·highcharts·orbit·智能数据分析·设置文档
Rain的Java大神之路2 小时前
设计一套生产级 API 接口:从契约、安全、幂等到限流,我踩过的坑都在这了
java·后端·面试
SimonKing2 小时前
零配置也能白嫖前沿大模型!dsh-our-free-model插件真香警告
java·后端·程序员