Android高效开发编译调试神器_Jrebel 最新激活方法以及 freeline(快到飞起~秒杀InstantRun)

本文主要是介绍Android高效开发编译调试神器_Jrebel 最新激活方法以及 freeline(快到飞起~秒杀InstantRun),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Google官方的instantRun目前有很多问题,比如比不支持分包,或者只能热修补布局改变等,之前一直用高效开发调试神器 JRebel ;用过都知道一用就根本停不下来,但后来更新版本修复了此插件漏洞,不付费情况下比较难破解,所以只好退而求其次用类似的阿里蚂蚂蚁旗下插件freeline(貌似是漂移板的牌子..);已安装成功,使用没JRebel好但也还行..毕竟是免费的,还要啥自行车...

首先是Jrebel 的激活方法:

截至 2017.09.12 亲测激活有效

从 2.2.0 版开始, JRebel for Android 授权方式改成了免费版和企业版, 具体区别请看官网介绍

企业版支持授权服务器激活, 具体使用方法为:

  1. 随意找个 GUID在线生成工具(https://www.guidgen.com/ ), 生成一个 GUID, 我这里生成的GUID为 0b2cab97-d78c-431d-939c-61dc85f0906d, 当然, 也可以按照 8位字符-4位字符-4位字符-4位字符-12位字符的格式自己随意生成.

  2. 在 JRebel for Android 激活界面选择 Connect to License Server, 在 Group URL中填写 http://idea.lanyus.com/0b2cab97-d78c-431d-939c-61dc85f0906d (即http://idea.lanyus.com/ + 刚才生成的GUID), Email
    中随意填写一个邮箱, 勾选 I agree with terms & conditions of the License Agreement, 点击 Activate JRebel for Android 即可激活企业版.

(附 JRebel 证书最新激活方法  需翻墙, 亲测时已失效,备看:http://blog.csdn.net/lixuanshengchao/article/details/72599021  )

下面是freeline的使用

freeline是由阿里巴巴蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。

Freeline代码开源在Github: 
https://github.com/alibaba/freeline

Freeline在云栖社区的原理说明: 
https://yq.aliyun.com/articles/59122?spm=5176.8091938.0.0.1Bw3mU

使用过程整理如下:
1.在工程层级的build.gradle中加入freeline-gradle的依赖
buildscript {repositories {mavenLocal()jcenter()}dependencies {classpath 'com.android.tools.build:gradle:2.2.2'classpath 'com.antfortune.freeline:gradle:0.8.2'}
}allprojects {repositories {jcenter()}
}
2.在你的主module的build.gradle中,添加freeline插件的依赖

注意:主工程依赖的module不需要添加这个依赖

apply plugin: 'com.android.application'
apply plugin: 'com.antfortune.freeline'android {...
}dependencies {...
}
3.在工程主目录下执行命令行,自动下载freeline依赖的包

Windows[CMD]:gradlew initFreelineLinux/Mac:./gradlew initFreeline

或者国内镜像包:

Windows[CMD]: gradlew initFreeline -Pmirror 
Linux/Mac: ./gradlew initFreeline -Pmirror  //chmod 777 ./gradlew initFreeline -Pmirror

你也可以使用参数-PfreelineVersion={your-specific-version}来下载特定版本的 freeline 依赖。

下载完成后会有成功提示页面

如果你的工程结构较为复杂,在第一次使用freeline编译的时候报错了的话,你可以添加一些freeline提供的配置项,来适配你的工程。

在moudle的gradle文件增加如下代码

freeline {

    hack true    productFlavor 'your-flavor'    //.....其他配置项

 }

配置项具体可以看Freeline DSL References。

4.安装python开发环境

因为freeline是Python项目,所以本地需要安装python开发环境并设置环境变量 
当在命令行界面输入

python -V

能显示python的版本号时说明安装成功

5.执行

python freeline.py

执行完成后就安装到你的手机上了

5.如果不想每次都用命令行,可以在android studio中安装插件

在Android Studio中,通过以下路径Preferences → Plugins → Browse repositories,搜索“freeline”,并安装。

安装完成后如下图: 
freeline

注意: 这里有一个坑,安装完成后点击的时候会有下面提示 
这里写图片描述 
明明已经配置过python的环境变量了,但是就是不能执行,这个应该是android studio读取环境变量的bug 
在android studio自带的命令行里面打印环境变量你会发现你设置的python的环境变量并没有出现 
我尝试重启android studio发现还是无效的,最后重启电脑才解决这个问题。

窗口左边共有5个按钮,从上到下按个说一下。 
1. 每次编译时就点这个按钮就可以增量编译了,对应命令是:Python freeline.py 
2. 停止freeline编译 
3. 进行调试编译 对应命令是: python freeline.py -d 
4. 全量编译 对应命令是: python freeline.py -f 
5. 清屏按钮

现在再说下python命令对应可选参数的说明: 
python freeline.py -d 
可选参数: 
-h, –帮助 显示帮助信息并退出 
-v, –版本 显示版本信息 
-f, –cleanBuild 强制执行一次 clean build ,(全量编译)
-w, –等待 让应用程序等待 debugger 
-a, –全部 在所有工程上强制执行clean build 并执行-f全量编译 
-c, –清空 清空缓存目录和工作空间 
-d, –调试 打开debug模式 
-i, –初始化 对工程进行进行freeline初始化配置

注意事项: 1.必须进行一次python freeline.py -f 

                   2.编译时智能连接一台手机 否则会报错

                   3.安装后正常生成apk可能会有问题,打包上线时把freeline依赖去掉

这篇关于Android高效开发编译调试神器_Jrebel 最新激活方法以及 freeline(快到飞起~秒杀InstantRun)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020425

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1