Android 秒级编译FreeLine

项目地址:FreeLine

FreeLine官网: FreeLine

1. 安装FreeLine插件

File->Settings->Plugins, 搜索输入FreeLine Plugin, 查找到后进行安装并重启Android Studio。


img_aed0e2b09491b422074edaea5d00c82f.png
图1.png

安装好之后,在工具栏就会出一个图标


img_8696930d818872e65ac812c98e43240f.png
图2.png

2. 配置gradle

  • 根目录build.gradle
buildscript {repositories {jcenter()}dependencies {classpath 'com.antfortune.freeline:gradle:0.8.8'}
}
  • moudle目录下的gradle
apply plugin: 'com.android.application'
// 插件一定要放在下边
apply plugin: 'com.antfortune.freeline'

3. 使用gradle初始化一下freeLine

使用gradlew initFreeline命令初始化,国内用户可以使用国内镜像gradlew initFreeline -Pmirror
如果仍然无法正常下载,可以设置gradle代理,请参考文章Android Studio Gradle设置代理

4. 当第4步无法使用的时候

1). 先访问地址, 获取到数据

{"freelineVersion":{"version":"0.8.8","download_url":"https://github.com/alibaba/freeline/releases/download/0.8.8/freeline-v0.8.8.zip","objectId":"58a81832ac502e006ccb5d56","createdAt":"2017-03-24T16:06:30.906Z","updatedAt":"2017-03-24T16:06:36.664Z"}}

2). 访问第一步所获得的数据中的链接,https://github.com/alibaba/freeline/releases/download/0.8.8/freeline-v0.8.8.zip获得zip包
3). 可以使用Tomcat工具将freeline-v0.8.8.zip放在D:\java\tomcat\webapps\ROOT路径作为本地链接地址(http://127.0.0.1:8080//freeline-v0.8.8.zip),并使用命令

gradlew initFreeline -PfreelineTargetUrl="http://127.0.0.1:8080//freeline-v0.8.8.zip"

4). 成功之后,项目的根目录如下,红色的为以上部分生成的文件


img_be0a1e94bb79f1068d570439a9e11c37.png
图3.png

5. 当第五步你觉得麻烦的时候,那么就来这里看一看吧

1). 先访问地址, 获取到数据

{"freelineVersion":{"version":"0.8.8","download_url":"https://github.com/alibaba/freeline/releases/download/0.8.8/freeline-v0.8.8.zip","objectId":"58a81832ac502e006ccb5d56","createdAt":"2017-03-24T16:06:30.906Z","updatedAt":"2017-03-24T16:06:36.664Z"}}

2). 访问第一步所获得的数据中的链接,https://github.com/alibaba/freeline/releases/download/0.8.8/freeline-v0.8.8.zip获得zip包
3). 使用命令

gradlew initFreeline -PfreelineLocal="your-local-freeline-path"

其中,引号中的内容是freeline-v0.8.8.zip所在的路径,如:

gradlew initFreeline -PfreelineLocal="D:\java\androidstudio\freeline-v0.8.8.zip"

6. 遇到的问题

1). 编译时找不到文件:freeline_project_description.json
解决方法:
执行命令gradlew checkBeforeCleanBuild

2). ModuleNotFoundError

F:\source\Program\Mp3Cutter-master>python freeline.py
Traceback (most recent call last):File "freeline.py", line 7, in <module>from freeline_core.dispatcher import DispatcherFile "F:\source\Program\Mp3Cutter-master\freeline_core\__init__.py", line 1, in <module>import build_commands
ModuleNotFoundError: No module named 'build_commands'

问题原因: Python版本问题,目前只支持2.7.+的版本.

7. 温馨提示:

1. 初次安装可能耗时比较久,因为其实FreeLine也是基于增量更新的机制。
2. adb断开连接后,重连之后的再次编译,等价于初次安装
3. 运行时需要Python环境,搭建Python环境</module></module>

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

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

相关文章

C语言中的二级指针(双指针)

二级指针又叫双指针。C语言中不存在引用&#xff0c;所以当你试图改变一个指针的值的时候必须使用二级指针。C中可以使用引用类型来实现。 下面讲解C中的二级指针的使用方法。 例如我们使用指针来交换两个整型变量的值。 错误代码如下&#xff1a; 一级指针 [cpp] view pla…

alpine_glibc 构建sun jdk 8的docker镜像

2019独角兽企业重金招聘Python工程师标准>>> 构建系统基础镜像 alpine glibc 的Dockerfile内容如下&#xff1a; alpine:3.6 MAINTAINER tongqiang<tongqiangyingmail.com># Here we install GNU libc (aka glibc) and set C.UTF-8 locale as default.ENV ALP…

c语言两个循环的ys,c语言编程:从键盘输入两个数,求它们的最小公倍数

满意答案flywisdom2019.06.20采纳率&#xff1a;44% 等级&#xff1a;9已帮助&#xff1a;1064人main(){int p,r,n,m,temp;printf("Please enter 2 numbers n,m:");scanf("%d,%d",&n,&m);//输入两个正整数.if(n{tempn;nm;mtemp;}pn*m;//P是原来…

每日微软面试题

每日微软面试题——day 1 <以下微软面试题全来自网络> <以下答案与分析纯属个人观点&#xff0c;不足之处&#xff0c;还望不吝指出^_^> 题&#xff1a;.编写反转字符串的程序&#xff0c;要求优化速度、优化空间。 分析&#xff1a;构建两个迭代器p 和 q &…

第八章 多态

第八章 多态1. 重写一个类通过继承来产生一个新类&#xff0c;继承了父类的所有变量和方法&#xff0c;在继承这些变量和方法的时候&#xff0c;子类也可以具有自己独特的特征和行为。Public class fruit{Public void print(){System.out.println(“这是超类的方法”);}}Clas…

计划任务 at,cron

示例&#xff1a;每3小时echo和wall命令 转载于:https://www.cnblogs.com/momenglin/p/8551618.html

2017.12.26

转载于:https://www.cnblogs.com/dyh-air/p/8118961.html

MessageBox 弹框

模拟系统的消息提示框而实现的一套模态对话框组件&#xff0c;用于消息提示、确认消息和提交内容。 从场景上说&#xff0c;MessageBox 的作用是美化系统自带的 alert、confirm 和 prompt&#xff0c;因此适合展示较为简单的内容。如果需要弹出较为复杂的内容&#xff0c;请使用…

什么是同轴电缆

同轴电缆从用途上分可分为基带同轴电缆和宽带同轴电缆&#xff08;即网络同轴电缆和视频同轴电缆&#xff09;。同轴电缆分50Ω 基带电缆和75Ω宽带电缆两类。基带电缆又分细同轴电缆和粗同轴电缆。基带电缆仅仅用于数字传输&#xff0c;数据率可达10Mbps。同轴电缆(Coaxial Ca…

android textview表情,Android开发(16)-TextView显示表情图像和文字

从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息,第三张图片按比例缩小&#xff0c;第四张图像有超链接布局文件MainActivity.javapackage com.example.textview3;import java.lang.reflect.Field;import android.os.Bundle;import…

linux的apache2.4限定某个目录禁止解析PHP及user_agent与PHP相关配置

限定某个目录禁止解析PHP 对于使用PHP语言编写的网站&#xff0c;有一些目录是有需求上传文件的&#xff0c;比如服务器可以上传图片&#xff0c;并且没有做防盗链&#xff0c;所以就会被人家当成了一个图片存储服务器&#xff0c;并且盗用带宽流量。如果网站代码有漏洞&#x…

什么是光缆

光缆(optical fiber cable)是为了满足光学、机械或环境的性能规范而制造的&#xff0c;它是利用置于包复护套中的一根或多根光纤作为传输媒质并可以单独或成组使用的通信线缆组件。光缆主要是由光导纤维&#xff08;细如头发的玻璃丝&#xff09;和塑料保护套管及塑料外皮构成&…

js调用android播放器,js调用android本地方法

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;昨天自己录了一个android本地调用h5中js方法&#xff0c;可能是因为视频比较耗费流量&#xff0c;结果看的人不是很多&#xff0c;所以决定还是先写文章&#xff0…

doxygen相关问题

doxygen相关问题 我主要的设置有 现在 wizard对话框中大体设置下,然后 export设置: project->DOXYFILE_ENCODINGGBK project->OUTPUT_LANGUAGEchinese input->INPUT_ENCODINGGBK Dot->HAVE_DOT Dot-> UML_LOOK Dot->CALL_GRAPH Dot->CALLER_GRAPH http…

前端之JavaScript 02

一、函数 // 最基础的函数定义 function f1() {console.log(hello world!); } f1(); // hello world!// 带参数的函数 function f2(name,age) {console.log("姓名 : " name " 年龄&#xff1a;" age); } f2("jassin",18); // 姓名 : jassi…

什么是双绞线

双绞线&#xff08;twisted pair&#xff0c;TP&#xff09;是一种综合布线工程中最常用的传输介质&#xff0c;是由两根具有绝缘保护层的铜导线组成的。把两根绝缘的铜导线按一定密度互相绞在一起&#xff0c;每一根导线在传输中辐射出来的电波会被另一根线上发出的电波抵消&a…

Android蒙版倒计时,【倒计时海报设计】- 虎课网

我们在大街上经常会看到各种宣传海报&#xff0c;有时商家为了达到促销的目的会在醒目的地方张贴一张倒计时海报&#xff0c;为的就是吸引群众的眼睛&#xff0c;大家了解PS倒计时海报设计的制作过程吗&#xff1f;如果对这方面操作不太了解的话&#xff0c;大家可以关注一下下…

linkit-smart-7688-feed 安装笔录

转载于:https://www.cnblogs.com/orangezs/p/8571791.html

android浏览SD卡的文件,简单实现浏览Android SD卡中的文件

----Main.javapublic class Main extends Activity {private TextView textView;private Button button;private ListView listView;public File currentParentFile;public File[] currentFiles;public static String sdcardDir ;static {try {//sd卡的路径sdcardDir Environ…

Java线程状态Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释

一、线程5种状态 新建状态&#xff08;New&#xff09; 新创建了一个线程对象。 就绪状态&#xff08;Runnable&#xff09; 线程对象创建后&#xff0c;其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中&#xff0c;变得可运行&#xff0c;等待获取CPU的使…