文档章节

Android Stdio 引入自定义framework.jar

legend3
 legend3
发布于 2017/05/03 15:14
字数 304
阅读 28
收藏 0

1: AndroidStudio IDE 的编译无错误提示

这里推荐在 Iml 文件中自定义: 

<orderEntry type="jdk" jdkName="Android API 22 Platform-aosp" jdkType="Android SDK" />

 

如何自定义Android API 22 Platform-aosp, 首先把这个名字改错, 然后编译, 根据提示进入到SDK的编辑界面:

 

这里先删除 android.jar 然后再加入 framework.jar 和  android.jar

 

这样就确保IDE编译无错误。

2: Gradle的编译出APK

 

这里就是重头戏了, Gradle的编译脚本是定义在 build.gradle 中的。

 

对于三方普通的 jar 包的处理, 比较简单:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:22.1.1'  compile 'com.github.lecho:hellocharts-library:1.5.5@aar'  compile 'com.avast:android-styled-dialogs:2.2.0' }
但是这里无法配置我们需要的jar包(优先级比android.jar高, 而且不要打包到 dex 文件中)
 
我们可以配置:
 
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:libs\\framework.jar') } } }
 

解释一下, 这是在最外层的 build.gradle 里面配置的, 目的是应用到所有的模块。

在进行 javac 编译的时候, 添加一个参数。 其实和上面Ant编译的命令是一样的, 都是在 bootclasspath 中引入自己的 jar 包。
 
测试真实有效(PS 清除了缓存, 没有再次被欺骗)

本文转载自:http://blog.csdn.net/ouo555/article/details/46274095

共有 人打赏支持
legend3
粉丝 4
博文 89
码字总数 13908
作品 0
深圳
私信 提问
自行修改android.jar使其包含隐藏api

在开发中时常会遇到要用到android隐藏api的情况,通常的做法是通过反射去调用,但是反射带来性能上的影响,代码也不够直观,我更偏爱直接使用那些api。 于是这就是本文的开始,自己改造一个a...

fjabing
2014/10/05
0
0
开发环境是Android Stdio 还是 Eclipse?

@dodola 你好,想跟你请教个问题:您这个项目是用什么开发环境?Android Stdio 还是 Eclipse? 感觉是Android Stdio。 我平时用的是 Eclipse,您这项目改怎么使用?...

BRUCE_ANGEL
2015/06/23
878
10
Unity发布Android版本

先大概说一下我自己的经历吧,总的大概用了10小时吧。刚开始装的是jre和Android stdio,然后发现要装的是JDK和SDK,然后去装JDK和SDK,装JDK很顺利,装SDK失败了,原因未知。后面是用 Androi...

a_clear_chen
05/08
0
0
Google I/O Android官方新体系架构之:Lifecycle

Google I/O Android官方新体系架构之:Lifecycle Google官方在 I/O大会中引入一些列Android新的体系架构内容,其中有一个是Android的Lifecycle。Lifecycle实现的一个重要目的,是实现Android...

开开心心过
2017/08/10
0
0
Kotlin Android Extensions使用指南

Kotlin Android Extensions是Kotlin团队开发的一个插件,目的是让我们在开发过程中更少的编写代码。目前包括了视图绑定的功能。 几种绑定视图方式对比 xml文件如下 第一种,传统方式绑定视图...

猴亮屏
10/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

学习LinkedBlockingDeque源码

之前已经看了实现deque接口的ArrayDeque, ConcurrentLinkedDeque, LinkedList,也不能落下ConcurrentLinkedDeque,但是好像没在项目中用过。 这里看到实现的接口还有BlockingDeque<E>, Block...

woshixin
10分钟前
0
0
实战:用Python实现随机森林

摘要: 随机森林如何实现?为什么要用随机森林?看这篇足够了! 因为有Scikit-Learn这样的库,现在用Python实现任何机器学习算法都非常容易。实际上,我们现在不需要任何潜在的知识来了解模型...

阿里云官方博客
13分钟前
0
0
进程管理利器Supervisor--centos7下安装与卸载

目录 概述 环境准备 检查python环境 在线安装 配置Supervisor 启动并验证 概述 Supervisor的安装可以有在线安装和离线安装两种方式。安装方式取决于服务器是否联网,联网的话可采用在线安装,...

java_龙
19分钟前
2
0
spring系列汇总

spring spring-基于可扩展Schema的特性自定义标签 springmvc-同一个访问资源,多种视图解析方式 spring cache 配置使用aspectj模式织入 基于注解的spring缓存,轻松无侵入解决cache问题 spri...

细肉云吞
20分钟前
2
0
vsftpd搭建ftp

12月10日任务 14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp exportfs命令 在nfs运行后的一段时间内,如果需要添加共享目录,这时需要修改exports文件,并...

robertt15
22分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部