当前位置: 首页 > news >正文

Android androidStudio构建项目过程中问题解决方案(持续更新)

目前来说,IDE开发工具已成为一个高度集成的开发工具,我们在做android开发,目前主要有eclipse或者AndroidStudio两大阵营,由于eclipse平台基本已被放弃,所以我们目前在做的就是已AndroidStudio为核心的平台,高度集成就会出现各种兼容问题,以下将是在AndroidStudio平台开发过程遇到问题与解决方法

1、libs文件夹下的资源无法加载

解:

这个问题在初学者身上经常遇到,直接在build指定如下

sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}

在build文件下dependencies引入如下

implementation fileTree(dir: 'libs', include: ['*.jar'])

如果依旧找不到,看jar包是否add上去,如果没有,右键add Library,如果在不行,

2、libs下so文件无法加载

在main文件夹下新建jniLibs文件夹,把libs下文件copy进去,

修改build文件android{

sourceSets { main { jniLibs.srcDirs = ['libs'] } }

}

3、引入的包冲突

3.1、先把项目中引入的包都给列出来,如果列出来,通过task的help来完成

A:代表项目名称

B:代表该项目下的task

C:是help文件夹下的gradle脚本

D:dependencies执行完会列出当前项目中依赖的所有项目

找到冲突包的module name,然后确定和哪个项目有冲突

如果A项目和B项目有冲突,如果剔除冲突?

A:implementation 'com.test.woniu:okhttp:3.12.12'

B:implementation 'com.action.memu:fire:3.12.12'

如果 A和B冲突

implementation( "com.test.woniu:okhttp:3.12.12"){

//只剔除groupid为com.action.memu下,模块为fire的

exclude group: 'com.action.memu', module: 'fire'

//剔除groupid为com.action.memu所有的包

exclude group: 'com.action.memu'

}

 old是低版本

new是当前最高 版本,高版本会覆盖低版本

4、布局无法预览

这个问题已专门发过一片文章,可以参考布局无法预览的解决方案

5.Jar包和和aar冲突 Duplicate class xxxx found in modules

这种冲突基本来源于包的冲突,可以剔除,如果module libs里面引用jar,其他aar将jar打包上传,

在整个项目中,就会报错Duplicate class xxxx found in modules,因为这个类已出现在其他module里面,即使剔除也不行。

这种解决办法:

需要用到jar的都采用libs加添加,或者都改用aar依赖库。否则还是会报错

6.so文件多份,one more than aa.so,或者其他文件多出

解决办法:

1.看错误日志,多什么就将这个复制

packagingOptions{
exclude 'lib/armeabi-v7a/aa.so'
}

2.如果多个项目用到aa.so文件,其实可以将aa.so做成aar依赖,或者只在一个项目libs中保持一份,这样也可以避免

7.修改gradle文件就要sync的办法

有时候我们修改了gradle东西,就需要去同步一下,这样很费时,有些场景甚至不需要同步,这时候我们不同步ide可能会提示问题等

解决:我们可以忽略这些

只要点击ignore these changes,就不会立即同步

8.跑debug包无法安装:

在properties文件中添加:android.injected.testOnly = false

9.引用本地代码,修改后不生效

我们在做大型项目时,会将自己的module打包成aar集成到主工程或者丢给其他项目使用,但是我们在正常开发过程,又需要把自己的项目导入到主工程,进行调试,会发现突然出现代码修改完不生效

解决:

一般出现这个问题是自己的module被其他aar引用了,在主工程项目中,别人的aar包在你的项目之前已导入,在打包过程中,优先加载了别人的模块,导致你的项目被覆盖了。所以导致你本地的代码修改了不生效。debug也走不进去等情况。

出现这种情况,在调试过程中,我们可以通过dependencies查找我们的module aar被哪些aar依赖了,然后通过剔除办法将我们的项目剔除

例如:

moduleA依赖了moduleB,现在moduleB注销了依赖,引入本地代码进行调试,

这时候moduleA代码已覆盖了moduleB,这时候需要moduleA剔除moduleB,moduleB本地代码才会生效。

implementation (“com.test.woniu:moduleA:3.12.12”){

exclude group: 'com.action.memu', module: 'moduleB'

}

这样剔除了moduleB的依赖库,再执行,本地代码才会执行,有多少依赖在调试都要剔除本地模块库。

相关文章:

  • windows10 使用 postgreSQL
  • NeuN抗体丨SYSY NeuN抗体说明书及相关研究工具
  • java 远程调用 httpclient 调用https接口
  • Jackson 化学发光免疫印迹解决方案
  • GPM 模型剖析【Golang】
  • 将 JavaScript 源文件的全部内容包装在立即调用的函数中的原因是什么?
  • #pragma pack(1)
  • 联动枚举设计
  • 视频批量添加透明水印,必须用这个方法
  • JS获取/修改文本框输入的内容value,修改div标签中的内容:innerHTML、innerTest
  • 我的世界Minecraft Java开服教程(Windows)开服器开服包下载开服网站服务器开服核心开服端开服软件mac版Java启动器资源包
  • java计算机毕业设计物业管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  • Linux下把Tomcat做成服务,并开机自启(方式2-systemctl)
  • java计算机毕业设计西宁市农副产品物流信息系统源码+系统+数据库+lw文档+mybatis+运行部署
  • Python高校学生档案管理系统毕业设计源码071528
  • Angularjs之国际化
  • django开发-定时任务的使用
  • JavaScript类型识别
  • React Native移动开发实战-3-实现页面间的数据传递
  • SwizzleMethod 黑魔法
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 两列自适应布局方案整理
  • 普通函数和构造函数的区别
  • #QT(串口助手-界面)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (2022 CVPR) Unbiased Teacher v2
  • (HAL库版)freeRTOS移植STMF103
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (二)linux使用docker容器运行mysql
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .net网站发布-允许更新此预编译站点
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • @Autowired标签与 @Resource标签 的区别
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [100天算法】-实现 strStr()(day 52)
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [Android View] 可绘制形状 (Shape Xml)
  • [AR]Vumark(下一代条形码)
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [C++]:for循环for(int num : nums)
  • [C语言]——内存函数
  • [Linux_IMX6ULL应用开发]-Makefile
  • [python]mysqlclient常用命令
  • [RK3568][Android12.0]--- 系统自带预置第三方APK方法
  • [SAP ABAP开发技术总结]面向对象OO
  • [Spring Cloud] Nacos 实战 + Aws云服务器
  • [毕业设计源代码]精品基于SSM的线上点餐系统[包运行成功]
  • [创业] 读书推荐:创业者必读的《Founders at work: Stories of Startups' Early Days》
  • [翻译]NUnit---String Collection File Directory Assert (七)
  • [服务器-数据库]MongoDBv7.0.4不支持ipv6访问