導航:首頁 > 程序命令 > gradlew命令

gradlew命令

發布時間:2023-04-14 04:26:37

Ⅰ 全面理解Gradle - 執行時序

一個像 Ant 一樣的非常靈活的通用構建工具
一種可切換的, 像 maven 一樣的基乎絕於合約構建的框架歲首姿
支持強大的多工程構建
支持強大的依賴管理(基於 ApacheIvy )
支持已有芹枯的 maven 和 ivy 倉庫
支持傳遞性依賴管理, 而不需要遠程倉庫或者 pom.xml 或者 ivy 配置文件
優先支持 Ant 式的任務和構建
基於 groovy 的構建腳本
有豐富的領域模型來描述你的構建

如果你本地安裝了Gradle,那麼你就可以使用gradle命令來直接構建。如果本地沒有安裝,那麼可以通過gradle wrapper來構建,linux和MAC使用./gradlew,而Windows上面則使用gradlew,還可以在 gradle/gradle-wrapper.properties 中配置 Gradle 版本。

Gradle腳本的執行分為三個過程:

下面我們根據一個實際的例子來詳細說明。這里我們仍然採用VirtualAPK這個開源項目來做演示,它的地址是: https://github.com/didi/VirtualAPK 。

我們以它的宿主端為例,宿主端有如下幾個模塊:

其中buildSrc是virtualapk-gradle-plugin,為了便於調試我將其重命名為buildSrc。他們的依賴關系如下:

解釋一下,app模塊依賴CoreLibrary和buildSrc,CoreLibrary又依賴androidStub。為了大家更好理解,下面加一下log。

現在隨便執行一個task,比如 ./gradlew clean ,那麼將會輸出如下日誌,大家對比著日誌,應該能明白Gradle腳本的執行順序了吧。

可以看到,Gradle執行的時候遵循如下順序:
1. 首先解析settings.gradle來獲取模塊信息,這是初始化階段;
2. 然後配置每個模塊,配置的時候並不會執行task;
3. 配置完了以後,有一個重要的回調 project.afterEvaluate ,它表示所有的模塊都已經配置完了,可以准備執行task了;
4. 執行指定的task。

Ⅱ ./gradlew build:Could not find tools.jar. 解決方法

在Android Studio中執行 ./gradlew build 命令時報以下錯誤:

解決方法(在終端Terminal中執行以下命令):

先通過如下命令查看JDK位置

(升級OSX11.0.1後,執行這個攜慧頌命令可能看到兩個路徑,一個是JDK的實際路徑,
另一個是: /Library/Internet Plug-Ins/javaAppletPlugin.plugin/Contents/Home ,(網上有資料說這個是JRE的路辯鄭徑)。

打開 .bash_profile 配置文件:

添碧羨加JDK路徑:

輸入以下命令保存刷新:

註:根據自己的實際JDK路徑修改上面的JDK路徑

重新啟動會話重新執行gradlew 命令即可。

Ⅲ Android系統命令行操作匯總

命令行打包
在工程根目錄下
windows系統: gradlew clean assembleRelease
linux系統: gradle clean assembleRelease
根據包的build variant不同assemble後參數變化

命令行安裝apk
adb install -r <apk文件路徑名>
查看所有安裝包
adb shell pm list package
卸載對應安裝包
adb shell pm uninstall <包名>
命令行調起指定app的啟動頁
adb shell am start -n <包名>/<路徑名>.LaunchActivity
設置主頁面
adb shell am start com.android.settings/com.android.settings.Settings
安全
adb shell am start com.android.settings/com.android.settings.SecuritySettings
手機無線信息
adb shell am start com.android.settings/com.android.settings.RadioInfo
更多頁面

Ⅳ 'gradlew' 不是內部或外部命令,也不是可運行的程序

接手枝早一個項目,使猛敏雀用命令打包的時候出現 'gradlew' 不是內部或外部命令,也不是可運行的程序

對比別的項目, 發現拿肆少了bat和shell文件

使用gradlew xxx的時候,我們並沒有配置環境變數,猜想.bat或者.shell幫我們做了,驗證一下

Ⅳ 'gradlew' 不是內部或外部命令,也不是可運行的程序 或批處理文件。

情況1:宏困凳
配置環境變數。

新建系統變數:
變數名:GRADLE_HOME
變數值:C:UsersAdministrator.gradlewrapperdistsgradle-4.6-all-4.6

注意:變數名就用GRADLE_HOME,不要用其他的。

然尺敗後再Path里增蔽旅加一項:%GRADLE_HOME%in

情況2:
先執行build setup下的wrapper任務,再在Terminal中執行gradlew就可以了。

Ⅵ CompilationFailedException解決

在Gradle版本升級後,編譯運行項目時,提示org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed;但沒有列出錯誤的具體原因。我們無法根據現有的編譯log找陵槐出錯誤所在,如下:

根據報錯內容,可以看出是執行compileDebugJavaWithJava任務時報的錯誤。異常為:TaskExecutionException(任務執行錯誤)並被告知編譯失敗異常(CompilationFailedException)。

我們可以使用gradlew命令在命令行中來單獨執行報錯任務,並列印出具體錯誤信息,我遇到的報錯的taskName為compileDebugJavaWithJavac,那麼命令如下:

運行後會尺搭友看到具體的錯誤,如下:

我這邊遇到的問題單獨執行報錯任務後,也沒有具體詳細的錯誤信息(大部分異常可以直接看到詳細的錯誤信息)

但是可以看到lib_common模塊下databinding相關的報錯信息,於是解決android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)相關的異常,這個異常是因為在xml文件中使用了get()方法,去掉get()方法後重新編譯,編譯成功。

android.databinding.tool.expr.Expr.resolveListeners異常解決鏈接:

在編譯時遇到CompilationFailedException,並沒有詳細報錯信息時,單獨執行報錯任務

然後獲取到具體報錯信息後,解決相應的枝喊報錯問題,重新編譯。

閱讀全文

與gradlew命令相關的資料

熱點內容
splitjava空格 瀏覽:248
電腦怎麼谷歌伺服器地址 瀏覽:515
nx自定義工具啟動宏命令 瀏覽:101
程序員怎麼解決無法訪問互聯網 瀏覽:303
java訪問本地文件 瀏覽:747
瓦斯琪伺服器怎麼用 瀏覽:22
安卓主題用什麼app 瀏覽:747
修改伺服器pci地址空間 瀏覽:321
程序員將來去哪裡 瀏覽:966
虛幻5創建c無法編譯 瀏覽:189
javaweb項目設計 瀏覽:407
國家反詐app緊急聯系人怎麼填 瀏覽:191
單片機旋轉led 瀏覽:340
杜洋單片機官網 瀏覽:467
法國加密貨幣稅務 瀏覽:28
stringslinux 瀏覽:944
gis伺服器里文件如何處理 瀏覽:829
sec加密數字資產 瀏覽:930
winrar命令行壓縮 瀏覽:790
java成員變數默認 瀏覽:491