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

Android Studio 3.1中混淆后的Android Library Jar文件位置咨询

Android Studio 3.1+ 下ProGuard混淆后Library Jar文件的位置说明

嘿,这个问题我之前升级AS的时候也碰到过,Google在3.1版本调整了构建目录的结构,原来的build/intermediates/bundles/目录被替换掉啦,给你整理一下最新的位置和解决办法:

一、混淆后Jar文件的默认位置

升级到AS3.1及以上版本后,混淆后的classes.jar文件位置变更为:

  • Debug版本(已启用ProGuard):build/intermediates/aar_main_jar/debug/classes.jar
  • Release版本:build/intermediates/aar_main_jar/release/classes.jar

这个目录下的classes.jar就是经过ProGuard混淆处理后的文件,同时你的Library构建生成的.aar包内部也包含了这个混淆后的class文件。

二、自定义Jar输出路径(可选)

如果觉得默认路径找起来麻烦,你可以在Module级的build.gradle中添加自定义脚本,把混淆后的Jar导出到指定位置,比如模块的libs目录:

android {
    // 保留你原本的其他配置...

    // 自定义导出Jar的任务
    task exportProGuardJar(type: Copy) {
        // 选择要导出的构建变体,这里以release为例,需要debug的话改成debug
        from('build/intermediates/aar_main_jar/release/')
        // 输出目标目录,这里设为模块根目录下的libs文件夹
        into('libs/')
        // 指定要复制的文件
        include('classes.jar')
        // 重命名Jar文件,方便识别
        rename('classes.jar', 'your-library-name-release-proguard.jar')
    }
}

// 让导出任务依赖assembleRelease,执行assembleRelease时自动完成导出
exportProGuardJar.dependsOn(assembleRelease)

添加完脚本后,你可以在Android Studio右侧的Gradle面板中,找到你的Module → Tasks → other → exportProGuardJar,点击运行就能自动导出Jar到指定目录了。

三、确认ProGuard是否正确启用

别忘了检查你的build.gradle中是否正确开启了混淆配置,确保minifyEnabled设为true:

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    // 如果需要在debug模式下也启用混淆,添加以下配置
    debug {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

内容的提问来源于stack exchange,提问作者Muhamed Riyas M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:42:21