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 目录早已经移动出来了。

相关推荐
无限进步_1 天前
【C++】寻找字符串中第一个只出现一次的字符
开发语言·c++·ide·windows·git·github·visual studio
码点1 天前
Android 设备重启如何拿日志
android
KevinCyao1 天前
php彩信接口代码示例:PHP使用cURL调用彩信网关发送图文消息
android·开发语言·php
快点好好学习吧1 天前
CPU 从 L1/L2 缓存读取 MySQL 代码指令的庖丁解牛
android·mysql·缓存
y小花1 天前
安卓音频接口从APP到Hal的调用流程
android·音视频
CYRUS STUDIO1 天前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向·frida
恋猫de小郭1 天前
Android CLI ,谷歌为 Android 开发者专研的 AI Agent,提速三倍
android·前端·flutter
守月满空山雪照窗1 天前
Android CTS 深度解析:兼容性测试体系、架构与实践
android·架构
Just right1 天前
pycharm卡死在Connected to pydev debugger
ide·python·pycharm
浮生世界1 天前
Android 动态替换桌面 Logo 实践记录(`activity-alias`)
android