Gradle 常用命令和查看錯誤信息

Gradle 常用命令和查看錯誤信息

Gradle 是 Android 現(xiàn)在主流的編譯工具空厌,使用它可以幫助我們編譯堤器、打包APP等過程泉蝌。同時歇万,我們也可以為Gradle指定構(gòu)建規(guī)則,讓它按照我們的指定構(gòu)建應(yīng)用勋陪。在Android中贪磺,我們常用的clean、build等其實就是使用的gradle方式來進行構(gòu)建的诅愚,只是這些Android studio幫我們做了寒锚,我們只需要在界面上進行點擊就可以了。但是违孝,還有一些比較有用的命令A(yù)ndroid Studio并沒有全部封裝刹前,比如:查看module的依賴關(guān)系、編譯錯誤追蹤等雌桑。下面我們就來說一說gradle中常用命令(使用gradle的指令喇喉,需要用到gradlew(即gradle wrapper的簡寫))和一個錯誤追蹤的實例。

  • 推薦文章:gradle的介紹校坑,《Android Gradle 指南》
  • gradlew使用格式:
    • gradlew 使用標準格式: gradlew [option…] [task…]
    • 也可以用:gradlew [task…] [option…]

其中:option表示選項轧飞,task表示任務(wù)衅鹿。

在Android studio撒踪,我們可以在Terminal窗口中輸入命令过咬。

常用命令

  • gradlew -?/-h/--help:顯示幫助信息,會打印可選參數(shù)及參數(shù)說明信息
  • gradlew -v/--version:打印版本信息
  • gradlew tasks --all:查看所有任務(wù)制妄,包括緩存任務(wù)等
  • gradlew clean:清除工程目錄下的build文件夾
  • gradlew build:檢查依賴并編譯打包掸绞,debug、release環(huán)境的包都會打出來
  • gradlew assemble***:編譯指定的包:如Debug包(gradlew assembleDebug)耕捞、Release包(gradlew assembleRelease)衔掸、渠道包(gradlew assembleGoogleRelease/assembleGoogleDebug;渠道包需要結(jié)合Product Flavors)俺抽、定制的版本等等
  • gradlew install***:編譯并安裝指定的包:如Debug包(gradlew installDebug)敞映、Release包(gradlew installRelease)、渠道包磷斧、定制的版本等等振愿;
  • gradlew uninstall**:卸載已安裝的指定模式的包:如Debug包(gradlew uninstallDebug)、Release包(gradlew uninstallRelease)弛饭、渠道包冕末、定制的版本等等;
  • gradlew :${modeleName}:dependencies:查看模塊的包依賴關(guān)系侣颂,如gradlew :app:dependencies
  • gradlew --refresh-dependencies:強制刷新依賴档桃,即檢查依賴是否有更新比如動態(tài)版本、SHA1進行本地cache和遠程倉庫散列碼的對比等憔晒,有更新則下載更新進行構(gòu)建
  • gradlew build -i/–info -d/–debug -s/–stacktrace:編譯(build)并打印debug模式和info等級的日志及所有異常的堆棧信息(–stacktrace)
  • gradlew clean build --refresh-dependencies:組合指令藻肄,清除構(gòu)建(gradlew clean)并重新構(gòu)建(gradlew build),同時強制刷新依賴(gradlew --refresh-dependencies)
  • gradlew --offline:離線模式拒担,即讓Gradle只使用本地cache里的依賴嘹屯,如果cache中沒有也不會更新依賴,而是提示編譯失敗
  • gradlew –info:打印堆棧信息
  • gradlew --daemon:守護進程澎蛛,使用Gradle的守護進程構(gòu)建抚垄,能夠提高構(gòu)建效率,如果守護進程沒啟動或現(xiàn)有的都處于忙碌狀態(tài)谋逻,就啟動一個守護進程呆馁;
  • gradlew --no-daemon:如果你已經(jīng)配置為使用守護進程構(gòu)建,可以使用該選項本次不用守護進程構(gòu)建毁兆;
  • gradlew --continuous:連續(xù)構(gòu)建浙滤,即任務(wù)隊列中即使某個任務(wù)失敗,不會終止執(zhí)行气堕,而是會繼續(xù)執(zhí)行下一個任務(wù)

錯誤追蹤

有時候我們在使用Android Studio進行打包apk時纺腊,項目報錯畔咧。但是報錯信息卻非常少,不知道在哪里報錯了揖膜。這時候使用gradlew就可以快速的對錯誤進行定位誓沸。

使用命令查看錯誤詳細信息:gradlew build -–stacktrace ,使用該條命令編譯項目壹粟,并打印異常堆棧信息(當然還可以添加其他的參數(shù))

或者說我們在編譯報錯時 拜隧,Android studio 往往會告訴我們是哪一個task執(zhí)行失敗了,這打印出來的信息中趁仙,我們能找到類似這種信息Task :app:mergeDebugResources FAILED洪添,它告訴我們 mergeReleaseResources task執(zhí)行失敗,那么我們就可以單獨執(zhí)行這條命令(gradlew :app:mergeDebugResources)雀费,打印出失敗的詳細信息干奢,然后通過詳細信息就可以對錯誤的地方進行修改了。

error.jpg

使用Android Studio點擊執(zhí)行命令

在Android Studio中盏袄,有很多命令其實都不需要我們?nèi)ビ涀∶罘蘧驗榇蠖鄶?shù)的命令可以通過點擊的形式執(zhí)行,我們最常使用的就是運行apk貌矿、使用Android Studio進行打包炭菌。其實,在Android Studio的 Gradle 窗口中還有很多的命令可以通過點擊直接執(zhí)行逛漫。如圖:

gradlew1.jpg

對于打印錯誤的詳細信息黑低,其實Android Studio中也是可以配置的,位置方式如下:【File -> Settings -> Build, Execution, Deployment > Compiler 的 Command-line Options: 】后面的輸入框中可以輸入 --stacktrace 或其他需要打印的詳細信息參數(shù)酌毡。

gradlew2.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末克握,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子枷踏,更是在濱河造成了極大的恐慌菩暗,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旭蠕,死亡現(xiàn)場離奇詭異停团,居然都是意外死亡,警方通過查閱死者的電腦和手機掏熬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門佑稠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旗芬,你說我怎么就攤上這事舌胶。” “怎么了疮丛?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵幔嫂,是天一觀的道長辆它。 經(jīng)常有香客問我,道長履恩,這世上最難降的妖魔是什么锰茉? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮似袁,結(jié)果婚禮上洞辣,老公的妹妹穿的比我還像新娘。我一直安慰自己昙衅,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布定鸟。 她就那樣靜靜地躺著而涉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪联予。 梳的紋絲不亂的頭發(fā)上啼县,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音沸久,去河邊找鬼季眷。 笑死,一個胖子當著我的面吹牛卷胯,可吹牛的內(nèi)容都是我干的子刮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼窑睁,長吁一口氣:“原來是場噩夢啊……” “哼挺峡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起担钮,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤橱赠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后箫津,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狭姨,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年苏遥,在試婚紗的時候發(fā)現(xiàn)自己被綠了饼拍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡暖眼,死狀恐怖惕耕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诫肠,我是刑警寧澤司澎,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布欺缘,位于F島的核電站,受9級特大地震影響挤安,放射性物質(zhì)發(fā)生泄漏谚殊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一蛤铜、第九天 我趴在偏房一處隱蔽的房頂上張望嫩絮。 院中可真熱鬧,春花似錦围肥、人聲如沸剿干。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽置尔。三九已至,卻和暖如春氢伟,著一層夾襖步出監(jiān)牢的瞬間榜轿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工朵锣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谬盐,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓诚些,卻偏偏與公主長得像飞傀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子泣刹,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容