android studio 使用lib中的framework.jar编译

news2024/10/6 12:32:17

本文参考了网上搜索到的内容总结了一下,感谢大神们的无私奉献。

在App中的build.gradle中的android{}下添加:

android{
    ...

    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            Set<File> fileSet = options.bootstrapClasspath.getFiles()
            List<File> newFileList =  new ArrayList<>();
            //JAVA语法,可连续调用,输入参数建议为相对路径
            newFileList.add(new File("libs/framework.jar"))
            //最后将原始参数添加
            newFileList.addAll(fileSet)
            options.bootstrapClasspath = files(
                    newFileList.toArray()
            )
        }
    }
}

此时可以编译出apk,但是android studio的代码检查还是标红的。

需要在setting -> build -> build tools --> gradle 选中iml

 此时,在工程.idea目录下会生成../.idea/modules/app/xxx.app.main.iml。

在App中的build.gradle中添加task,并执行命令:

android{
......
}

 task preBuild1 {
    doLast {
        //此处文件名根据实际情况修改:
        def imlFile = file("../.idea/modules/app/xxx.app.main.iml")
        try {
            println "123456"
            def parsedXml = (new XmlParser()).parse(imlFile)
            def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' }
            parsedXml.component[1].remove(jdkNode)
            def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform"
            new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK'])
            groovy.xml.XmlUtil.serialize(parsedXml, new FileOutputStream(imlFile))
        } catch (FileNotFoundException e) {
            // nop, iml not found
            println "no iml found"
        }
    }
}
//路径 ../.idea/modules/app/xxx.app.main.iml 是项目中.idea中对应生成的iml

这个命令的目的是将源指向lib下的framework.jar

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

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

相关文章

想知道音频转文字怎么弄吗?看完这篇文章你就懂了

小伙伴们&#xff0c;你们有没有遇到过这样的情况&#xff1a;听到了一段有趣或重要的音频&#xff0c;但却无法方便地保存下来或与他人分享&#xff1f;别担心&#xff0c;现在有很多免费的音频转文字软件app可以帮助我们解决这个问题。不过&#xff0c;这些音频转文字软件app…

S32K系列MCU介绍和资料搜集

1. S32K系列微控制器概述 S32K系列微控制器&#xff0c;是NXP推出的专门面向汽车电子和工业应用场合的微控制器。基于ArmCortex-M系列的可扩展、低功耗微控制器&#xff0c;获得了AEC-Q100认证&#xff0c;具有高级功能安全、信息安全和软件支持&#xff0c;适用于工业和汽车A…

进程间通信之匿名管道(pipe)

文章目录 前言管道管道的创建管道的使用单进程使用管道进行通信多进程使用管道进行通信关闭管道的读端/写端 总结 前言 管道分为匿名管道和命名管道&#xff0c;匿名管道只能在有共同祖先的(有亲缘关系)进程中使用&#xff0c;而命名管道可以在任意进程中使用&#xff0c;以下…

【youcans动手学模型】目标检测之 OverFeat 模型

欢迎关注『youcans动手学模型』系列 本专栏内容和资源同步到 GitHub/youcans 【youcans动手学模型】目标检测之 OverFeat 模型 1. OverFeat 卷积神经网络模型1.1 论文摘要1.2 技术背景1.3 基本方法模型设计多尺度分类滑动窗口&#xff08;Sliding window&#xff09;定位&#…

ACL—访问控制列表

目录 ACL的分类&#xff1a; 配置 配置基础ACL &#xff1a; 例一&#xff1a; 例二&#xff1a; 配置高级ACL &#xff1a; 例一&#xff1a; 例二&#xff1a; ACL—访问控制列表 配置了ACL的网络设备根据事先制定号的规则&#xff0c;然后对经过该设备的流量按照对应的规…

访问者模式:灵活处理对象结构

访问者模式&#xff1a;灵活处理对象结构 在软件开发中&#xff0c;我们经常会遇到处理复杂对象结构的情况。对象结构由多个不同类型的对象组成&#xff0c;而每个对象都可能具有不同的行为。此时&#xff0c;访问者模式可以派上用场。访问者模式是一种行为设计模式&#xff0…

接口的幂等性如何设计

前言 所谓幂等: 多次调用方法或者接口不会改变业务状态&#xff0c;可以保证重复调用的结果和单次调用的结果一致。 我们在开发中主要操作也就是CURD,其中读取操作和删除操作是天然幂等的&#xff0c;我们所关心的就是创建操作、更新操作。 创建操作一定是非幂等的因为要涉及…

JVM包含哪几部分?JVM内存模型?线程的生命周期? 对Spring AOP的理解?布隆过滤器

目录 1. JVM包含哪几部分2. JVM内存模型3. 双亲委派模型4. Java内存模型5. Serializable接口为什么需要定义serialVersionUID常量6. 线程的生命周期7. 什么是MVC8. volatile关键字的理解9. 对Spring AOP的理解10. 布隆过滤器 1. JVM包含哪几部分 JVM由三部分组成&#xff1a;类…

WalkRE2019--构面流程

1、手动圈图 选中面层中的一般房屋面&#xff0c;双击&#xff0c;鼠标变成十字光标后&#xff0c;开始在图上圈出一个闭合形状。如下&#xff1a; 如上&#xff0c;完成一个一般房屋面的绘制。 2、加工菜单栏中的自动构面功能。 这里推荐点击构面方法&#xff0c;原因是操作起…

MachineLearningWu_13_AGI

AGI的全称是artificial general intelligence&#xff0c;通用人工智能&#xff0c;而我们现在做的关于医学影像的分析&#xff0c;可以说完全是ANI。 而我们使用MLP对于大脑中神经网络的模拟更是完全不同于人类大脑的行为。

mysql(三)InnoDB之自适应hash索引

目录 前言自适应哈希索引 (Adaptive Hash Index, AHI)既然是哈希&#xff0c;key 是什么&#xff0c;value 是什么&#xff1f;为啥叫 “自适应 (adaptive)****” 哈希索引&#xff1f;系统会不会判断失误&#xff0c;是不是一定能加速&#xff1f; 创建自定义的hash索引思路示…

华为申请注册盘古大模型商标;京东推出言犀大模型,率先布局产业应用

7月14日科技新闻早知道&#xff0c;一分钟速览。 1.华为申请注册盘古大模型商标&#xff1a; 据天眼查 App 显示&#xff0c;7 月 7 日&#xff0c;华为技术有限公司申请注册“华为云盘古”、“Huawei Cloud Pangu Models”文字及图形商标&#xff0c;国际分类为网站服务、社…

基础设施SIG月度动态:龙蜥官网新增CSDN第三方账号登录,内核CI新增测试任务停止功能

基础设施 SIG&#xff08;OpenAnolis Infra SIG&#xff09;目标&#xff1a;负责 OpenAnolis 社区基础设施工程平台的建设&#xff0c;包括官网、Bugzilla、Maillist、ABS、ANAS、CI 门禁以及社区 DevOps 相关的研发工程系统。 01 SIG 整体进展 1. 龙蜥社区官网与 CSDN dev…

管理大规模文件的挑战与解决方案

管理大规模文件是当今企业和组织面临的一项重要挑战。随着信息技术的迅速发展和数字化转型的推进&#xff0c;组织内外产生的文件数量呈指数级增长&#xff0c;如何高效地管理这些文件成为了亟待使用文件管理系统解决的问题。 挑战一&#xff1a;数据量巨大 随着企业和组织的…

基于STM32CUBEMX驱动TOF模块VL6180与VL6180X(5)----驱动多个VL6180X

基于STM32CUBEMX驱动TOF模块VL6180与VL6180X----5.驱动多个VL6180X 概述样品申请修改设备地址配置vl6180x主程序测试结果 概述 在本章中&#xff0c;我们将探讨如何同时驱动多个VL6180传感器进行距离测量。我们将介绍如何有效地管理多个传感器之间的通信和控制&#xff0c;以确…

❤️创意网页:创造精彩的登录体验-3D翻转登录页面

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;欢迎踏入…

(9)基础强化:元字符,正则表达式,匹配,提取组,Regex,Match与Matches

一、作业 1、问&#xff1a;下面解压程序出错&#xff0c;什么原因&#xff1f; string src "E:\1.txt";string des "E:\2.txt";using (FileStream read File.OpenRead(src)){using (GZipStream gzip new GZipStream(read, CompressionMode.Decompress…

FPGA——按键控制led灯

文章目录 一、实验环境二、实验任务三、系统设计四、实验过程4.1 编写verilog代码4.2 引脚配置 五、仿真5.1 仿真代码5.2 仿真结果 六、实验结果七、总结 一、实验环境 quartus 18.1 modelsim vscode Cyclone IV开发板 二、实验任务 使用开发板上的四个按键控制四个LED灯。按…

“反AI斗士”马斯克进军AI,你怎么看?

“反AI斗士”马斯克进军AI&#xff0c;你怎么看&#xff1f; 当地时间7月12日&#xff0c;马斯克在Twitter上宣布&#xff1a;“xAI正式成立&#xff0c;去了解现实。”马斯克表示&#xff0c;推出xAI的原因是想要“了解宇宙的真实本质”。公司由马斯克本人亲自带队&#xff0c…

软件外包开发的原型图工具

在软件开发中需要用到原型图工具来将需求转化为图形界面&#xff0c;这样可以更好更准确的表达需求的实现方式。与传统的需求文档相比&#xff0c;原型图的表达更直接&#xff0c;不但可以画出UI&#xff0c;也支持UI之间的跳转连接&#xff0c;与最终的实现效果基本是一样的。…