【Android】导入三方jar包/系统的framework.jar

1.Android.mk导包

1).jar包位置

与res和src同一级的libs中(没有就新建)
在这里插入图片描述

2).Android.mk文件

LOCAL_STATIC_ANDROID_LIBRARIES:android静态库,经常用于一些support的导包
在这里插入图片描述

LOCAL_JAVA_LIBRARIES:依赖的java库,一般为系统的jar包
在这里插入图片描述

LOCAL_STATIC_JAVA_LIBRARIES:指定依赖的静态库,三方jar包放在该处,后面为依赖的静态库别名,可以随便取名,但要和后面LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES对应
在这里插入图片描述

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES:表示依赖的静态库具体路径,zxing就是上面定义的别名
在这里插入图片描述

注:
代码混淆也需要修改
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
导包后如果不做处理,编译时会出现报错,根据具体的报错信息在proguard.flags文件中加规则

2.AS导包

1).正常导入

把jar包放到项目的libs文件下,右键选择添加为依赖库
在这里插入图片描述

2).正常导入但需要提升三方jar包优先级

有时候使用的jar包与sdk中同名,但需要优先使用三方jar包(此处更重要的是导入了系统的framework,优先使用framework.jar而找不到时的处理)
build.gradle(:app)

导入的jar包修改

compileOnly files('libs/framework.jar')

compileOnly 表示 jar 包只参与编译,不会打包进去

修改项目的build.gradle

有两种方式
1.相对路径

allprojects {gradle.projectsEvaluated {if (!plugins.hasPlugin("android-library") && !plugins.hasPlugin("android")) {return}//configure maven dependenciesconfigurations.each { conf ->if (conf.name == 'compileOnly') {dependencies.add("compileOnly", files('app/libs/framework.jar'))}}//configure compile dependenciestasks.withType(JavaCompile) {Set<File> fileSet = options.bootstrapClasspath.getFiles()List<File> newFileList = new ArrayList<>();newFileList.add(files('app/libs/framework.jar'))newFileList.addAll(fileSet)options.bootstrapClasspath = files(newFileList.toArray())}}
}

2.绝对路径

allprojects {gradle.projectsEvaluated {tasks.withType(JavaCompile) {options.compilerArgs.add('-Xbootclasspath/p:E:\\AndroidProject\\Wifi\\app\\libs\\framework.jar')}}
}

此时,可以正常引用,有时候项目会出现提醒,但不影响正常运行、编译以及打包
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/146004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL学习笔记-001】- 创建表、插入数据、查看数据库结构

创建employees表 当创建一个表时&#xff0c;需要指定表的名称和每个列的名称和数据类型。以下是一个示例SQL语句&#xff0c;用于创建一个名为"employees"的表&#xff0c;其中包含员工ID、姓名、职位和工资等列&#xff1a; CREATE TABLE employees (employee_id…

PCA降维Python demo

读这篇15年CVPR的文章&#x1f923;&#x1f923;&#x1f923;&#x1f923;&#x1f923; inproceedings{liu2015sparse,title{Sparse convolutional neural networks},author{Liu, Baoyuan and Wang, Min and Foroosh, Hassan and Tappen, Marshall and Pensky, Marianna},…

相机突然断电,保存的DAT视频文件如何修复

3-7 本文主要解决因相机突然断电导致拍摄的视频文件损坏的问题。 在平常使用相机拍摄视频&#xff0c;比如用单反相机、无人机拍摄视频的时候&#xff0c;如果电池突然断电&#xff0c;或者突然炸机了&#xff0c;就非常有可能会得到一个损坏的视频文件&#xff0c;比如会产生…

事务隔离级别和MVCC

1. 事务隔离级别和MVCC 1.1 事务并发执行时的一致性问题 &#xff08;1&#xff09;脏写 事务修改了另一个未提交事务修改过的数据&#xff1b; 这里的一致性是&#xff1a;假设每个事务都遵守将变量 x 和 y 始终设置为相同值&#xff0c;操作序列如下所示&#xff1a; T1…

【Vue配置项】 computed计算属性 | watch侦听属性

目录 前言 computed计算属性 什么是计算属性&#xff1f; Vue的原有属性是什么&#xff1f; 得到的全新的属性是什么&#xff1f; 计算属性怎么用&#xff1f; 计算属性的作用是什么&#xff1f; 为什么说代码执行率高了&#xff1f; computed计算属性中的this指向 co…

Express.js 与 Nest.js对比

Express.js 与 Nest.js对比 自从 Node.js 发布以来&#xff0c;Javascript 在后端领域的使用有所增加。由于 Node.js 的使用越来越多&#xff0c;每天都会有新的框架和工具发布。Express 和 Nest 是使用 Node.js 创建后端应用程序的最著名的框架之一&#xff0c;在本文中&…

【前段基础入门之】=>CSS3新特性 响应式布局

文章目录 概念媒体查询媒体类型媒体特性媒体运算符 概念 所谓对响应式布局方案的理解&#xff0c;众说纷纭&#xff0c;核心点就是同一套代码在不同尺度屏幕下的布局呈现方式的不同 社区中有很多人分享&#xff0c;并列出了多种实现响应式布局的方案&#xff0c;比如【 rem&…

基于ssm+vue员工工资管理系统

基于ssmvue员工工资管理系统 摘要 随着信息技术的不断发展&#xff0c;各行各业对于高效管理和利用数据的需求也日益增长。员工工资管理系统作为企业管理中的一个重要组成部分&#xff0c;对于实现工资信息的精确计算、及时发放和有效管理具有重要意义。本文基于SSM&#xff08…

消息中间件概述

概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能&#xff0c;成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件&#xff0c;如ActiveMQ、RabbitMQ&#xff0c;Kafka&#xff0c;还有阿里…

3. Spring源码篇之ComponentScan

简介 前面介绍了scanner可以扫描某个包路径下的所有bean&#xff0c;我们最常用的也是通过ComponentScan指定包路径去扫描&#xff0c;在SpringBoot中也是如此&#xff0c;本文将介绍spring扫描的逻辑 BeanDefinitionRegistryPostProcessor 知道了ComponentScan的作用&#…

Word文档处理:用Python轻松提取Word文档图文数据

将内容从Word文档中提取出来可以方便我们对其进行其他操作&#xff0c;如储将内容存在数据库中、将内容导入到其他程序中、用于AI训练以及制作其他文档等。使用Spire.Doc for Python提供了一个简单的方法直接提取Word文档中的文本内容&#xff0c;包括文本和图片&#xff0c;而…

Mybatisplus集成springboot完成分页查询

今天解决的是&#xff1a;Mybatisplus集成pringboot完成分页功能 &#x1f6f4;&#x1f6f4;&#x1f6f4; 之前一直用Pagehelper&#xff0c;迫于无奈pagehelper与springboot冲突太多&#xff0c;就改了MP自带的分页 &#x1f388;引入依赖 引入mybatisplus依赖 <depen…

【Linux】重定向|重新理解Linux下一切皆文件

文章目录 一、什么是重定向输出重定向的原理认识一下输出重定向的系统调用输出重定向的另外写法 二、浅谈输入重定向三、重定向和进程替换有冲突吗四、Linux下一切皆文件总结 一、什么是重定向 理解重定向之前&#xff1a;先理解一个叫做文件描述符的具体操作。 文件描述符&a…

【Qt之QWizardPage】使用

介绍 QWizardPage类是向导页面的基类。 QWizard表示一个向导。每个页面都是一个QWizardPage。当创建自己的向导时&#xff0c;可以直接使用QWizardPage&#xff0c;也可以子类化它以获得更多控制。 页面具有以下属性&#xff0c;由QWizard呈现&#xff1a;a title&#xff0c;…

JVM虚拟机-虚拟机执行子系统-第6章 字节码指令

字节码指令 Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字&#xff08;称为操作码&#xff0c;Opcode&#xff09;以及跟随其后的零至多个代表此操作所需的参数&#xff08;称为操作数&#xff0c;Operand&#xff09;构成。 字节码与数据类型 在Java虚拟…

uni-app 蓝牙打印, CPCL指令集使用

先上代码: GitHub - byc233518/uniapp-bluetooth-printer-demo: 使用uniApp 连接蓝牙打印机 Demo, CPCL 指令简单实用示例 (内含 芝珂,佳博,精臣 多个厂家指令集使用文档) 文件结构: ├── App.vue ├── CPCL 指令手册.pdf // 指令集参考手册 ├── LICENSE ├── R…

如何解决小程序异步请求问题

小程序异步请求问题指的是在小程序中进行异步请求时可能会出现的问题&#xff0c;比如请求失败、请求超时等。以下是一些解决方案&#xff1a; 检查网络连接&#xff1a;首先需要确保网络连接正常&#xff0c;只有网络连接正常时才能正常进行异步请求。 检查请求参数&#xff…

基于探路者算法优化概率神经网络PNN的分类预测 - 附代码

基于探路者算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于探路者算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于探路者优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络…

html所有标签和DOCTYPE的总结

一、DOCTYPE 1. 意义 DOCTYPE是一种标准通用标记语言的文档类型声明&#xff0c;告诉标准通用标记语言解析器它应该使用什么样的文档类型定义来解析文档。 2. 应用 现在&#xff0c;我们需要告诉标准通用标记语言解析器&#xff0c;我们接下去要用html来编写代码了。 <…

建造者模式(创建型)

目录 一、前言 二、建造者模式 三、链式编程实现建造者模式 四、总结 一、前言 当我们开发一个软件应用时&#xff0c;我们通常需要创建各种对象。有些对象是简单的&#xff0c;可以直接实例化&#xff0c;但有些对象则比较复杂&#xff0c;需要多个步骤才能创建完成。这时…