使用DevEco Studio 3.1.1版本,创建Java应用,程序报错,无法运行。

image.png

image.png

image.png

原因:

DevEco Studio新建的Java应用默认的gradle配置指向的是https://repo.huaweicloud.com,而你的网络因为各种原因(比如公司网络),无法访问,所以会报错。

解决方法

1.设置代理

  1. 打开File > Settings > Appearance & Behavior > System Settings > HTTP Proxy配置界面。
  2. 勾选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.项目修改配置信息

  1. 打开${Java应用目录}/gradle/wrapper/gradle-wrapper.properties,可以知道项目在获取不到gradle的时候会去https\://repo.huaweicloud.com/gradle/gradle-7.3-bin.zip 下载

image.png

  1. https://gradle.org/releases/ 官网下下载对应的gradle-7.3-bin文件

image.png

  1. 将该文件放于 C:\Users\${你电脑用户名}.gradle
  2. 修改gradle-wrapper.properties的distributionUrl

image.png

  1. 修改build.gradle配置文件,(由于我可以访问https://maven.aliyun.com/repository/public,所以配置成这个地址,你根据实际情况配置maven仓库地址,可以是公司的私有库,但是可能存在有些包找不到的情况,这种情况下就缺哪个包你就导入哪个包到公司私有库即可)

image.png

  1. 点击file->Sync and Refresh Project 等待下载即可

image.png

  1. 成功

image.png

image.png

3.项目修改默认配置

使用2方法的话每次新建项目都得修改,太麻烦了,可以通过修改DevEco Studio模板的方式进行统一配置

  1. 修改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
  1. 修改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/'
        }
    }
}
  1. File-> Invalid Caches... 进行清理缓存并重启,让模板生效

image.png

  1. happy coding

其他

修改gradle包下载地址

在使用File->New Projects Setup->Settings for New Project...->Build,Execution,Deployment->Build Tools->Gradle->Gradle user home修改gradle包下载地址的时候,发现新建的项目依然还是C:/Users/${你电脑用户名}/.gradle

image.png

解决方法:配置环境变量

image.png


点墨
26 声望3 粉丝

全栈前端开发工程师