Google官方的instantRun目前有很多問題,比如比不支持分包,或者只能熱修補佈局改變等,之前一直用高效開發調試神器 JRebel ;用過都知道一用就根本停不下來,但後來更新版本修復了此插件漏洞,不付費情況下比較難破解,所以只好退而求其次用類似的阿里螞螞蟻旗下插件freeline(貌似是漂移板的牌子..);已安裝成功,使用沒JRebel好但也還行..畢竟是免費的,還要啥自行車...
首先是Jrebel 的激活方法:
截至 2017.09.12 親測激活有效
從 2.2.0 版開始, JRebel for Android 授權方式改成了免費版和企業版, 具體區別請看官網介紹
企業版支持授權服務器激活, 具體使用方法爲:
-
隨意找個 GUID在線生成工具(https://www.guidgen.com/ ), 生成一個 GUID, 我這裏生成的GUID爲 0b2cab97-d78c-431d-939c-61dc85f0906d, 當然, 也可以按照 8位字符-4位字符-4位字符-4位字符-12位字符的格式自己隨意生成.
-
在 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 即可激活企業版.
下面是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”,並安裝。
安裝完成後如下圖:
注意: 這裏有一個坑,安裝完成後點擊的時候會有下面提示
明明已經配置過python的環境變量了,但是就是不能執行,這個應該是android studio讀取環境變量的bug
在android studio自帶的命令行裏面打印環境變量你會發現你設置的python的環境變量並沒有出現
我嘗試重啓android studio發現還是無效的,最後重啓電腦才解決這個問題。
窗口左邊共有5個按鈕,從上到下按個說一下。
現在再說下python命令對應可選參數的說明: |
注意事項: 1.必須進行一次python freeline.py -f
2.編譯時智能連接一臺手機 否則會報錯
3.安裝後正常生成apk可能會有問題,打包上線時把freeline依賴去掉