Android Studio 打包App问题

一、场景

windows 电脑C 盘空间越来越少,所有软件默认位置都往C盘用户目录写入数据,于是开始准备整理,Android Studio 相关的 .android 和 .gradle 目录成为了目标。

二、问题出现

1、将C盘的.gradle 目录拷贝到D盘,文件比较大,拷贝了很久,其中还有一些文件无法操作跳过处理的。

2、设置Android stuido gradle 目录到D 盘对应目录

3、编译App 代码,报错如下:

Could not resolve all files for configuration ':app:NormalAppDebugRuntimeClasspath'. > Could not find com.lzy.net:okgo:3.0.4. Required by: project :app > Could not find org.eclipse.paho:mqtt-client:0.4.0. Required by: project :app

但是找到对应的gradle目录,发现之前已经拷贝过来了:

但是仍然报这个错误,有点莫名其妙,怀疑是不是拷贝过来还有其他文件丢失损坏导致找不到这个三方库依赖。

三、解决尝试

1、重新拷贝一份代码,将原先C盘的.android .gralde 重命名,然后让Android studio 重新运行生成新的目录,打包编译还是不行。首先发现的是gradle 下载速度奇慢,后来参考解决gradle下载慢的问题-阿里云开发者社区

更换了腾讯的镜像源:

下载gradle 就很快了, 然后再看.gradle 目录下,确实没有下载到okgo 这个依赖包, 然后将原先D盘中拷贝过来,也还是识别不到,仍然编译不过。

2、怀疑是不是这个库在几个源里面下载不到了

复制代码
google()
jcenter()
mavenCentral()

jcenter 里面确实没找到, mavenCentral 的网页里面 Maven Central 找到的包名对不上。

然后重新添加了阿里的镜像源

复制代码
maven {
    url 'https://maven.aliyun.com/repository/public/'
}
maven {
    url 'https://maven.aliyun.com/repository/central'
}

居然就成功获取下来了仓库服务

后面咨询了一下AI , 也建议将小的不更新的库放到本地打包,所以这些jar aar 还是放到libs 下管理,不知道什么时候又可能拉取不到了。

【但是将库文件放到本地,只适合简单的没有其他依赖拉取的小文件,这个okgo应该还有其他依赖,如果放到本地打包会报如下错误:】

02-12 13:59:38.267 16706 18109 E AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher

02-12 13:59:38.267 16706 18109 E AndroidRuntime: Process: com.org.BaseWebviewApp, PID: 16706

02-12 13:59:38.267 16706 18109 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/internal/http/HttpHeaders;

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at com.lzy.okgo.interceptor.HttpLoggingInterceptor.logForResponse(HttpLoggingInterceptor.java:166)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at com.lzy.okgo.interceptor.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:101)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:190)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at okhttp3.RealCall.access$100(RealCall.java:30)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: at java.lang.Thread.run(Thread.java:932)

02-12 13:59:38.267 16706 18109 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.internal.http.HttpHeaders" on path: DexPathList\[zip file "/data/app/com.org.BaseWebviewApp-x9N_Ov65Y47KeF4Y4EvTHA==/base.apk",nativeLibraryDirectories=/data/app/com.org.BaseWebviewApp-x9N_Ov65Y47KeF4Y4EvTHA==/lib/arm64, /data/app/com.org.BaseWebviewApp-x9N_Ov65Y47KeF4Y4EvTHA==/base.apk!/lib/arm64-v8a, /system/lib64, /hw_product/lib64, /system/product/lib64]

一个清理磁盘空间,又整了半天,还是要弄懂本源,知道各个目录的作用, .android 目录中其实主要还是avd 占用空间, sdk 目录早已经移动出来了。

相关推荐
平头哥技术团队4 小时前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
冬木家居5 小时前
40㎡客厅变形记,小家住出大自由[特殊字符]
android·经验分享·笔记·智能家居·微信公众平台
AFinalStone5 小时前
Android 7系统无障碍服务(六)输入事件拦截与 TouchExplorer
android·无障碍服务
天空之城--5 小时前
MT管理器Android逆向工程完全指南:从入门到实战
android
Anhty6 小时前
2026九月最新变声器测评:iOS安卓双端适配,低延迟运行更稳定
android·人工智能·功能测试·ios·智能手机
渡我白衣8 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集
Android-Flutter10 小时前
flutter GetX 详解
android·flutter
MyFreeIT11 小时前
Android Manual
android
hai_android12 小时前
AIDL 实现 IPC 进程间通信
android·android studio
AFinalStone14 小时前
Android 7系统无障碍服务(五)AccessibilityNodeInfo 的构建与查询
android·无障碍服务