前言:最近遇到一个问题,就是公司做自己的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,这样就完成了!

更多相关文章

  1. GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
  2. Android(安卓)Launcher研究(四)-----------桌面应用快捷方式的开
  3. Android(安卓)应用广告过滤几种方式
  4. Android(安卓)多个Activity间对象共享
  5. wzplayer for android正式支持OpenSL ES
  6. Android应用篇 - 观察者、EventBus、本地广播的区别
  7. C#、Golang、Python、Java(Android)之间Des、Rsa加解密互通系列之G
  8. Android初学笔记——五:数据存储
  9. Android(安卓)创建与解析XML(三)---- PULL方式

随机推荐

  1. android: busybox am aapt
  2. Android Studio 添加类似eclipse 里的use
  3. android菜单详解六:快捷键和菜单intent
  4. Android之Manifest文件
  5. android loggin
  6. 在Android中加入GOOGLE统计系统
  7. Delphi XE5的Android开发平台搭建
  8. android textview 中超出屏幕宽度的字符
  9. android命令行启动
  10. Android TabHost学习笔记