编译问题

在编译打Android 文件时,您可能遇到无网络连接、编译失败等问题。本文将针对这些问题向您介绍排错步骤与解决方法。

无网络连接

在编译文件时,如果没有网络,很有可能造成编译失败。通过以下步骤,确认编译环境的网络已连接:

  1. 确认已连接到互联网。

  2. 确认未连接网络代理,包括浏览器代理设置、第三方网络代理软件等。

  3. 确认未设置IDE代理。

  4. 在 gradle.properties 文件中,确认未设置 Gradle 代理,即未设置 systemProp.http.proxyHostsystemProp.http.proxyPort 属性。如果有设置,删除相关属性即可。

编译失败

如果程序编译失败,可通过以下步骤进行排错与解决:

  1. 根据上述步骤,确认编译环境网络已正常连接。

  2. 检查 Gradle 执行记录,确认新增的依赖有效。

  3. 检查依赖的 GAV(group, artifact, version)参数设置正确

  4. 执行以下命令刷新gradle缓存:

    gradle clean --refresh-dependencies
    
  5. 如果 Maven 仓库有对应依赖,删除个人目录下 Gradle 缓存,然后重新编译。

    说明:Gradle 缓存的删除方法:

    • 在 MacOS、Linux、Unix等系统中,运行以下命令

      cd ~
      cd .gradle 
      cd caches
      rm -rf modules-2
      
    • 在 Windows 系统中,默认情况下,路径定位到 C:\Users{用户名}.gradle\caches,删除 modules-2 文件夹。

缓存问题

Gradle缓存问题

由于 Gradle 在下载依赖的同时自动将其缓存了一份在本地,所以等第二次开启一个项目并依赖同一个库的同一个版本的时候,Gradle 实际上只是拿了本地的缓存,有时会因为本地缓存导致项目构建失败,则可以尝试清理Gradle本地缓存。

Gradle缓存位置

  • 在Windows上: %USER_HOME%\.gradle/caches/
  • 在Mac / Unix上: $HOME/.gradle/caches/

Gradle缓存清理

您可以浏览到这些目录并手动删除或运行

rm -rf $HOME/.gradle/caches/

项目构建缓存问题

Android项目在构建过程中会产生缓存,这些缓存可能会导致再次构建项目失败的问题,则可以尝试清理构建缓存。

注: Android Studio的File | Invalidate Caches/Restart 不会清除Android构建缓存,因此您必须单独清除它。

构建缓存清理

  • 在Windows上:
gradlew cleanBuildCache
  • 在Mac或Linux上:
./gradlew cleanBuildCache
Copyright © 民生科技有限公司 2019 all right reserved,powered by Gitbook联系方式: wanglihang@mskj.com
修订时间: 2019-08-02 16:19:32

results matching ""

    No results matching ""