Android(安卓)studio打包时忽略指定的jar
16lz
2021-01-25
前言:最近遇到一个问题,就是公司做自己的rom,对framwork有改动,添加了自己的api,那么问题来了,我们开发的阶段使用的是android原生的环境,所以不可能调用得到自己定义的api,那么为了编译通过,我们只能把framwork.jar单独引进了,但是新的问题又来了,framwork.jar非常大,而且在rom里面已经有了,所以打包的时候就没有必要带上这个jar了,那么如何在Android studio下设置让项目打包的时候能编译通过,但是jar又不会编译到apk里面呢?
一、首先我们看一下正常的jar包引入方式
这个样子的jar包引入是最常用的方式,编译能通过,同时打包的时候也会将该jar包打包到apk中这样就会造成apk很大
二、那么接下来,我们就通过对gradle的配置,让jar包只在编译阶段对工程起作用,而在打包的阶段忽略掉
当我们对该jar的依赖方式改成Provided的时候,gradle中会变成如下图:
接着我们在project所属的build.gradle下进行如下配置即可
allprojects { repositories { jcenter() } //打包时忽略framework.jar gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:app/libs/framework.jar') } }}
ok,这样就完成了!
更多相关文章
- GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
- Android(安卓)Launcher研究(四)-----------桌面应用快捷方式的开
- Android(安卓)应用广告过滤几种方式
- Android(安卓)多个Activity间对象共享
- wzplayer for android正式支持OpenSL ES
- Android应用篇 - 观察者、EventBus、本地广播的区别
- C#、Golang、Python、Java(Android)之间Des、Rsa加解密互通系列之G
- Android初学笔记——五:数据存储
- Android(安卓)创建与解析XML(三)---- PULL方式