使用DevEco Studio 3.1.1版本,创建Java应用,程序报错,无法运行。
原因:
DevEco Studio新建的Java应用默认的gradle配置指向的是https://repo.huaweicloud.com,而你的网络因为各种原因(比如公司网络),无法访问,所以会报错。
解决方法
1.设置代理
- 打开File > Settings > Appearance & Behavior > System Settings > HTTP Proxy配置界面。
- 勾选Manual proxy configuration,设置DevEco Studio的HTTP Proxy。
HTTP配置项,设置代理服务器信息。如果不清楚代理服务器信息,可以咨询你们的网络管理人员。
Host name:代理服务器主机名或IP地址。
Port number:代理服务器对应的端口号。
No proxy for:不需要通过代理服务器访问的URL或者IP地址(地址之间用英文逗号分隔)。
Proxy authentication配置项,如果代理服务器需要通过认证鉴权才能访问,则需要设置。否则,请跳过该配置项。
Login:访问代理服务器的用户名。
Password:访问代理服务器的密码。
Remember:勾选,记住密码。
配置完成后,点击Check connection,输入网络地址(https://repo.huaweicloud.com),检查网络连通性。提示“Connection successful”表示代理设置成功。然后点击OK按钮完成配置。
2.项目修改配置信息
- 打开${Java应用目录}/gradle/wrapper/gradle-wrapper.properties,可以知道项目在获取不到gradle的时候会去https\://repo.huaweicloud.com/gradle/gradle-7.3-bin.zip 下载
- 在https://gradle.org/releases/ 官网下下载对应的gradle-7.3-bin文件
- 将该文件放于 C:\Users\${你电脑用户名}.gradle
- 修改gradle-wrapper.properties的distributionUrl
- 修改build.gradle配置文件,(由于我可以访问https://maven.aliyun.com/repository/public,所以配置成这个地址,你根据实际情况配置maven仓库地址,可以是公司的私有库,但是可能存在有些包找不到的情况,这种情况下就缺哪个包你就导入哪个包到公司私有库即可)
- 点击file->Sync and Refresh Project 等待下载即可
- 成功
3.项目修改默认配置
使用2方法的话每次新建项目都得修改,太麻烦了,可以通过修改DevEco Studio模板的方式进行统一配置
- 修改gradle-wrapper.properties文件,它位于 ${Dev Eco Studio下安装目录}\plugins\harmony\lib\templates\project\New Project\code template\gradle\wrapper
# default config
#distributionBase=GRADLE_USER_HOME
#distributionPath=wrapper/dists
#distributionUrl=https\://repo.huaweicloud.com/gradle/gradle-7.3-bin.zip
#zipStoreBase=GRADLE_USER_HOME
#zipStorePath=wrapper/dists
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=file:///C:/Users/${你电脑用户名}/.gradle/gradle-7.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
- 修改build.gradle.ftl文件,它位于 ${Dev Eco Studio下安装目录}\plugins\harmony\lib\templates\project\New Project\code template\
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply plugin: 'com.huawei.ohos.app'
//For instructions on signature configuration, see ${signConfigHelpUrl}
ohos {
compileSdkVersion ${compileSdkVersion}
<#if isSupportSystemStandard>
supportSystem "standard"
</#if>
}
/* default config
buildscript {
repositories {
<#if configMavenUrl1?? && configMavenUrl1 != "">
maven {
url '${configMavenUrl1}'
<#if configMavenUrl1?contains("http://")>
allowInsecureProtocol = true
</#if>
}
</#if>
<#if configMavenUrl2?? && configMavenUrl2 != "">
maven {
url '${configMavenUrl2}'
<#if configMavenUrl2?contains("http://")>
allowInsecureProtocol = true
</#if>
}
</#if>
<#if configMavenUrl3?? && configMavenUrl3 != "">
maven {
url '${configMavenUrl3}'
<#if configMavenUrl3?contains("http://")>
allowInsecureProtocol = true
</#if>
}
</#if>
}
dependencies {
classpath 'com.huawei.ohos:hap:${configHapVersion}'
classpath 'com.huawei.ohos:decctest:${configDecctestVersion}'
}
}
allprojects {
repositories {
<#if configMavenUrl1?? && configMavenUrl1 != "">
maven {
url '${configMavenUrl1}'
<#if configMavenUrl1?contains("http://")>
allowInsecureProtocol = true
</#if>
}
</#if>
<#if configMavenUrl2?? && configMavenUrl2 != "">
maven {
url '${configMavenUrl2}'
<#if configMavenUrl2?contains("http://")>
allowInsecureProtocol = true
</#if>
}
</#if>
<#if configMavenUrl3?? && configMavenUrl3 != "">
maven {
url '${configMavenUrl3}'
<#if configMavenUrl3?contains("http://")>
allowInsecureProtocol = true
</#if>
}
</#if>
}
}
*/
buildscript {
repositories {
maven {
url 'https://maven.aliyun.com/repository/public'
}
maven {
url 'https://developer.huawei.com/repo/'
}
}
dependencies {
classpath 'com.huawei.ohos:hap:3.1.5.0'
classpath 'com.huawei.ohos:decctest:1.2.7.20'
}
}
allprojects {
repositories {
maven {
url 'https://maven.aliyun.com/repository/public'
}
maven {
url 'https://developer.huawei.com/repo/'
}
}
}
- File-> Invalid Caches... 进行清理缓存并重启,让模板生效
- happy coding
其他
修改gradle包下载地址
在使用File->New Projects Setup->Settings for New Project...->Build,Execution,Deployment->Build Tools->Gradle->Gradle user home修改gradle包下载地址的时候,发现新建的项目依然还是C:/Users/${你电脑用户名}/.gradle
解决方法:配置环境变量
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。