【发布时间】:2016-10-07 21:32:00
【问题描述】:
我有一个用于 android 的 Qt 应用程序,我使用 shell 脚本在命令行构建它。我想使用gradle。所以我在安装步骤中使用了以下命令。
androiddeployqt --sign mykey.keystore --storepass mypassword --output android-build --verbose --gradle --input MyApp/myapplib.so-deployment-settings.json
我在使用 gradle 2.2.1 时遇到了问题。因此,我通过下载 gradle 3.1 更新了我的 gradle 包装器。但是在运行命令 gradle 时似乎仍然在尝试下载 2.2.1 并给出以下错误。
Pregenerating entry list for assets file engine.
Downloading https://services.gradle.org/distributions/gradle-2.2.1-all.zip
Exception in thread "main" java.net.UnknownHostException: services.gradle.org
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Abs tractDelegateHttpsURLConnection.java:200)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1124)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Building the android package failed!
谁能指出我怎样才能摆脱这个错误并使用 gradle 构建我的 Qt 应用程序?
【问题讨论】:
-
浏览至:
your_project/gradle/wrapper,编辑文件 gradle-wrapper.properties 并确保“distributionUrl”指向您打算使用的正确 Gradle 版本。 -
@ItaiGanot。感谢您的关注。我已经设置为 3.1 -
distributionUrl=https\://services.gradle.org/distributions/gradle-3.1-bin.zip但是,它仍然试图获得 2.2.1。不知道为什么,是否有一些缓存需要清除?或者我可以通过某种方式强制进行干净的构建? -
是的,如果您没有明确设置变量“GRADLE_USER_HOME”,那么您的 gradle 用户主页 vy 默认为:
~/.gradle(在 linux/mac os 中)或/Users/username/gradle在 Windows 中,浏览那里并删除名为“缓存”的文件夹,然后重试,请告诉我它是如何为您工作的。 -
我在 Mac OS 上。我删除了
~/.gradle文件夹。但这无济于事。我已将分发 url 明确设置为 3.1。现在将 GRADLE_USER_HOME 定义为显式文件夹以进行更好的控制。但徒劳无功!!真的很奇怪。 -
在你的项目目录中,运行:
gradle wrapper,让它生成新的 Gradle Wrapper 文件,然后重试告诉我
标签: android qt gradle android-gradle-plugin