【安卓学习之开发工具】 Android Studio学习 3 - 一个demo的编译问题

本文介绍了使用不同版本的Android Studio编译同一项目时遇到的编译错误,并提供了具体的解决方案,特别是针对Java 8特性支持的配置调整。

█ 【安卓学习之开发工具】 Android Studio学习 3 - 一个demo的编译问题

█ 相关文章:

- 
 ● 【安卓学习之开发工具】 Android Studio学习 1 - 入门篇
 ● 【安卓学习之开发工具】 Android Studio学习 2 - 遇到的问题
 ● 【安卓学习之开发工具】 Android Studio学习 3 - 一个demo的编译问题
 ● 【安卓学习之开发工具】 Android Studio学习 4 - 学习笔记(视频学习)
 ● 【安卓学习之开发工具】 Android Studio学习 5 - 研究android studio和eclipse之间的互换
 ● 【安卓学习之开发工具】 Android Studio学习 6 - Android Studio 2.0/3.0 安装包说明(版本说明) 
 ● 【安卓学习之开发工具】如何导入已别人写好的demo(含ADT和AS)之ADT

█ 读前说明:

- 
 ● 本文通过学习别人写demo,学习一些课件,参考一些博客,’学习相关知识,如果涉及侵权请告知
 ● 本文只简单罗列相关的代码实现过程
 ● 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已

█ 问题:

● 网上下载的一个demo出现的编译问题

█ 下载:

● 从github上下载【Demo】项目
 ● 项目的工程目录如下:
这里写图片描述

█ Android Studio:

● 1.Android Studio打开已存在的项目:
这里写图片描述
 ● 2.打开后如下:
这里写图片描述
 ● 3.查看下项目的工程目录如下:
这里写图片描述
 ● 4.可以看出自动多出了如下一些配置文件:
这里写图片描述
PS:运气好,自动给你增加配置文件,如果没有的话,就只能手动添加了!

█ 编译顺利(Android Studio 3.0.1):

● 1.编译运行:(com.android.tools.build:gradle:3.0.1)
这里写图片描述
 ● 2.直接通过:

Information:BUILD SUCCESSFUL in 1m 25s

● 3.目前一切顺利,是因为我安装的Android Studio和下载的项目一直

█ 编译失败(Android Studio 2.3.1)

● 1.编译运行:(com.android.tools.build:gradle:2.3.1)
 这里写图片描述
 ● 2.直接Fail:

Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8.

【Gradle sync failed (4s 157ms)】

● 3.怎么解决:
这里写图片描述

● 4.解决方法:
 ○ 2016-11-27 Android–Error:Jack is required to support java 8 language features. Either enable Jack or remove so - NoClay -优快云博客
 ○ 2017-02-20 AndroidStudio对于Java8特性的支持 - nianyounan - 简书
   在gradle中添加代码(使用Java1.8

jackOptions{
enabled true
}

● 5.结果终于大功告成:
这里写图片描述
 ● 6.这时候如果将SDK修改为26.0.2,也是可以通过编译的:

ext {
   surpportlib = ‘26.0.2’
}

█ 第三方库:

● 在项目中引用到了很多第三方库:
这里写图片描述

● 这些第三方库都去哪里了?
 ● 默认,在如下路径中可以看到:
  C:\Users\Administrator.gradle\caches\modules-2\files-2.1
这里写图片描述

● 这些库,要么以jar、要么以arr文件缓存下来:
  我们以appcompat-v7文件为例 
 ○ 在【com.android.support\appcompat-v7\27.0.2\4ae031a24f432a35efae0d609731c5a34e65696c】中可以看到【appcompat-v7-27.0.2-sources.jar】文件,注意里面是.java文件,而不是class文件:
这里写图片描述
 ○ 在【com.android.support\appcompat-v7\27.0.2\87c4b381cb7e6baeb254643b74a11b0472c3c953】中可以看到【appcompat-v7-27.0.2.aar】文件,将该文件解压后,得到appcompat-v7-27.0.2文件夹,注意里面是.class文件,以及res文件:
这里写图片描述

█ 总结:

● 网上下载的demo经常出现编译问题,基本都是你的Android Studio的版本不同、或者你的Gradle不一样等问题导致的,总不至于人家编译不通过,就将项目上传上去…
 
█ 相关资料:

● 1.2016-11-27 Android–Error:Jack is required to support java 8 language features. Either enable Jack or remove so - NoClay -优快云博客
 ● 2.2017-02-20 AndroidStudio对于Java8特性的支持 - nianyounan - 简书

转载请注明出处:
http://blog.youkuaiyun.com/ljb568838953/article/details/78829979

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值