国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

像npm一樣在Andriod項目中引入Gradle依賴

移動開發 Android
作為 Android 開發人員,有沒有羨慕過 node.js 的導入三方庫的方式,node.js 社區為開發者準備了一個快速可靠的依賴管理庫。這樣的依賴管理庫,讓 node.js 導入依賴庫,非常的方便,一行代碼就搞定了,npm install <library>。

 [[206604]]

一、前言

作為 Android 開發人員,有沒有羨慕過 node.js 的導入三方庫的方式,node.js 社區為開發者準備了一個快速可靠的依賴管理庫。這樣的依賴管理庫,讓 node.js 導入依賴庫,非常的方便,一行代碼就搞定了,npm install <library>。

為了搞定這個問題,一個國外的程序員 @cesarferreira 做了一個庫來支持這樣的功能 drone。

Github 地址:

https://github.com/cesarferreira/drone

接下來我們來看看 drone 的使用和細節原理。

二、drone 的使用細節

2.1 什么是 drone

drone 在 Android 項目中,實現了 npm 對 node.js 的功能。

它維護了 50 個常用的第三方依賴庫庫,差不多可以覆蓋 90% 我們常用的開源庫,例如:rxjava、Gson、Picasso、recyclelerview-v7 等。

當我們需要使用某個庫的時候,只需要一行命令,就可以將這個庫引入到我們工程的 build.gradle 的 dependencies 中。這個過程中,會默認為我們引入***的版本,無需關心應該引入的三方庫的***版本號。

算是 Android 下的一個非常好用的導包工具。

因為本身 drone 是使用 node.js 實現的,所以這里需要 npm 的環境才可以安裝它,node.js 基本上就是無腦安裝,這里默認你已經安裝了 node.js 的環境了。

安裝 drone 也非常的簡單,一行代碼搞定。

  1. npm install -g drone 

安裝完成之后,我們就可以正常使用它了。

2.2 使用 drone

使用 drone 添加依賴庫,只需要通過 drone add 命令即可。

  1. drone add creator/library module 

drone add 需要指定庫的別名和需要導入的 App Module。

可以看到,它會主動將我們需要庫查詢出來,插入到 build.gradle 的 dependencies 中。

drone 的支持的功能還有很多,增刪改查都是最正常的操作,其他操作可以查看它的幫助文檔。

drone 的使用還是非常方便簡單的,基本上看看幫助文檔就可以搞定了,就不再展開說了。

三、drone 的原理

drone 的使用非常的簡單,不知道你有沒有好奇它是如何維護這些庫的。我們只是指定了一個庫的名稱,它就能立刻確定它***的穩定版版本號。

接下來我們來繼續探索一下 drone 的原理,滿足好奇心。

首先看看 drone 的整個項目結構,它是完全使用 node.js 開發完成的,它所有支持的命令都被定義在 tasks 目錄下。

而 drone 的入口是 router.js ,所有的命令都需要通過 router.js 進行分發。

我們找一個最常用的命令 add 來看看它的具體細節。

可以看到,它首先使用 QuickSearch.search() 查找我們輸入的庫的細節,然后使用 hive.getWithVersions() 查找到我們需要的三方庫***穩定版的版本號。最終使用 handleGradleDependencyInjection() 方法,將它輸入到我們指定 Module 的 build.gradle 的具體位置。

handleGradleDependencyInjection() 方法不用看,應該就是一個 io 操作,去寫 build.gradle 文件。

先來看看 QuickSearch.search() 方法。

這里通過 string-similarity 這個字符串相似度比較庫,去查找出我們需要引入的庫的細節,這些信息,被配置在 constants.js 文件中。

可以看到,這里被另外一個 github 開源庫 drone-hive 所維護。

https://github.com/cesarferreira/drone-hive

drone-hive 中,維護了比較常用的 50 個開源庫的信息。

我們隨便找一個看看,這里看看 airbnb/lottie-android。

可以看到,它維護了開源庫的各項信息,而其中的 repository 指定了開源庫的類型,它最終可以用于區分我們使用什么方式去獲取***的版本號。

這個邏輯在 metadata.js 文件中。

例如這里查看的 airbnb/lottie-android 就是通過 jitpack.io 進行查詢,當然 drone 是使用 jitpack.io 的查詢 Api 去查詢到***的版本號,這里不再展開細節看了。

四、小結

到這里,我好奇的地方就得到了解決,在來回顧一下這些細節。

drone 主要用于 Android 開源庫的管理。

drone 可以自動操作 Gradle dependencies。

drone 維護的 50+ 的開源庫,所有的信息維護在另外一個庫中,drone-hive。

drone-hive 維護了這些開源庫的信息,在不同庫的 xxx/xxx.json 文件中。

根據在 hive 中配置的 repository 類型,使用不同的方式,獲取穩定版版本號。

最終使用 io 操作,修改我們指定 Module 的 build.gradle 文件。

【本文為51CTO專欄作者“張旸”的原創稿件,轉載請通過微信公眾號聯系作者獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2023-04-05 14:19:07

FlinkRedisNoSQL

2023-02-15 08:17:20

VSCodeTypeScrip

2023-05-23 13:59:41

RustPython程序

2013-12-17 09:02:03

Python調試

2022-12-21 15:56:23

代碼文檔工具

2013-12-31 09:19:23

Python調試

2015-03-16 12:50:44

2021-05-20 08:37:32

multiprocesPython線程

2013-08-22 10:17:51

Google大數據業務價值

2015-02-05 13:27:02

移動開發模塊SDK

2012-06-08 13:47:32

Wndows 8Vista

2011-01-18 10:45:16

喬布斯

2017-05-22 10:33:14

PythonJuliaCython

2012-03-21 10:15:48

RIM越獄

2021-09-07 10:29:11

JavaScript模塊CSS

2021-12-14 19:40:07

Node路由Vue

2025-09-12 00:00:00

DevToolsJavaScript調試術

2020-06-10 15:29:36

微軟開發App

2011-10-24 13:07:00

2015-04-09 11:27:34

點贊
收藏

51CTO技術棧公眾號

日韩一区二区三区在线| 中文国产成人精品| 国产日本一区二区三区| 日韩超碰人人爽人人做人人添| 日韩成人激情视频| 亚洲搞黄视频| 欧美性大战xxxxx久久久| 两个人看的免费完整在线观看 | 精久久久久久久久久久| 欧美成人中文字幕| 综合久久av| 国产一区av在线| caoporn国产精品免费视频| 日韩成人av影视| 欧美激情视频一区二区三区| 国产精品久久久久久模特 | 国产精品免费在线播放| 欧美性久久久| 日本高清久久一区二区三区| 日韩激情一区二区| 亚洲一区二区自拍偷拍| 露出调教综合另类| 国产精品视频区| 欧美日韩一区二区高清| 久久99精品国产99久久| 亚洲一区二区免费看| 视频一区视频二区视频三区高| 久久av资源网| 日本中文字幕片| 亚洲成人免费在线观看| 黄网站欧美内射| 久久久久久麻豆| 久久精品色图| 日韩精品亚洲精品| 久色国产在线| 欧美成人激情在线| 亚洲小说区图片区| 一区二区av| 精品动漫一区二区| cao在线视频| 久久久久久综合网天天| 欧美日韩1080p| 免费黄色特级片| 欧美日韩国产123区| 日韩综合久久| 99国产在线| 国产亚洲欧美中文| a级片免费在线观看| 国产精品91在线| 丁香婷婷深情五月亚洲| 神马久久精品| 久久久久在线观看| 成人综合婷婷国产精品久久 | 成人激情在线| 18禁网站免费无遮挡无码中文| 亚洲va欧美va国产va天堂影院| 日韩一区二区三区四区五区 | 久久超级碰视频| 亚洲一区二区三区成人| 91av在线免费观看视频| 日韩电影在线一区二区三区| 天海翼一区二区三区四区在线观看 | 欧美大片在线观看一区| 国产精品亚洲人成在99www| 日本黄网站色大片免费观看| 天天爽夜夜爽夜夜爽精品视频| 日韩精品一区二区三区中文在线| avove在线观看| 亚洲成人黄色在线观看| 日韩美脚连裤袜丝袜在线| www.成年人视频| 久久国产精品久久精品| 美女性感视频久久| 97影院手机在线观看| 午夜精品免费视频| 蜜臀av性久久久久蜜臀aⅴ四虎| mm131国产精品| 久久久久成人网| 丝袜亚洲精品中文字幕一区| www欧美激情| 精品日韩一区二区三区免费视频| 香蕉久久久久久久av网站| 久久久精品在线视频| 亚洲无av在线中文字幕| 日本午夜一本久久久综合| 久久爱91午夜羞羞| 欧美黄色一级片视频| 不卡毛片在线看| 一区二区三区日韩精品视频| 欧美gayvideo| 91啦中文在线| 综合一区中文字幕| 久久伊人精品一区二区三区| 欧美国产精品专区| 亚洲精品国产九九九| 精品不卡在线| 日本韩国一区二区三区| 翔田千里一区二区| ww久久综合久中文字幕| 久久嫩草精品久久久久| 国产视频在线播放| 美女av电影| 色综合手机在线| 中国丰满人妻videoshd | 精品调教chinesegay| 亚洲丝袜制服诱惑| 国产精品一二一区| 亚洲一级高清| 成人综合一区| 国产主播性色av福利精品一区| 欧美24videosex性欧美| 最新av在线| 九色porny在线观看| 97蝌蚪自拍自窝| 日本成人在线免费视频| 久久免费看毛片| 国内成+人亚洲| 国产日韩久久| 国产富婆一区二区三区 | 婷婷亚洲综合| 欧美视频导航| 99在线热播精品免费99热| 日韩av一区二区三区四区| 狠狠色丁香婷综合久久| www成人在线观看| 中文字幕第一区第二区| 一区二区三区免费观看| 亚洲国产欧美在线人成| 色噜噜偷拍精品综合在线| 欧美性xxxxx极品| 欧美性淫爽ww久久久久无| 日韩免费福利电影在线观看| 亚洲欧洲视频在线| 欧美高清自拍一区| 久久久久久国产精品美女| 国产精品情侣自拍| 国产伦精品一区二区三区视频孕妇 | 国产伊人久久| 欧美色图激情小说| 亚洲区欧美区| 丰满白嫩尤物一区二区| 国产亚洲一区二区三区四区| 亚洲中国最大av网站| 欧美性受xxxx黑人xyx性爽| 亚洲人成亚洲人成在线观看| 人九九综合九九宗合| 91久久久久久久久久久| 成人综合色站| 亚洲综合婷婷久久| аⅴ资源天堂资源库在线| 亚洲成人偷拍| 天堂av在线一区| 中文字幕字幕中文在线中不卡视频| 日韩欧美国产免费播放| 亚洲国产精品视频在线观看| 欧美激情第三页| 日韩不卡av| 好吊妞这里只有精品| 欧美三级精品| 亚洲精华国产欧美| 国产精品伦一区二区三级视频| 欧美日韩色综合| 热久久99这里有精品| 色中色综合成人| 视频黄页在线| 日本在线一区二区| 国产日韩一区| 亚洲成人激情综合网| 亚洲精品少妇网址| 成人看片视频| 羞羞视频在线观看| 美日韩在线视频| 91欧美精品午夜性色福利在线 | 亚洲欧洲制服丝袜| 日韩欧美一级二级| 国产日韩欧美夫妻视频在线观看 | 国产一区二区成人| 制服诱惑一区| 色婷婷av在线| 99久久久国产精品美女| 欧美国产视频在线| 久久亚洲精品国产亚洲老地址| 蜜桃麻豆91| 国产无套粉嫩白浆在线2022年| 女厕嘘嘘一区二区在线播放 | 福利片在线看| 青青草精品视频| 久久久国产在线视频| 国产经典av| 久久性天堂网| 性金发美女69hd大尺寸| 中日韩免费毛片| 国产在线国偷精品免费看| 97人人模人人爽人人喊中文字 | 亚洲男人的天堂在线播放| 久久亚洲国产精品日日av夜夜| 成人影院在线观看| 国产酒店精品激情| 久久久久久国产精品三级玉女聊斋| 欧美大尺度做爰床戏|