Android Studio 完全离线开发配置


文章目录

  • 一、配置离线编译的依赖项
  • 二、在Gradle配置中添加离线组件
  • 三、其他设置



  好长时间没有更新博客了,前一段时间一直在忙于项目,这个项目比较封闭而且时间紧任务重,基本没有时间来更新博客。现在利用空余的时间来总结2019年中3-10月份所遇到的问题。由于这个项目都是在公司内网开发的,所所有的项目都是离线开发的模式。现在就来总结一下 Android Studio 离线模式下如何配置。


一、配置离线编译的依赖项

下载离线组件后,将其内容解压到以下目录(主要是将offline-gmaven-stable.zip解压,这个offline-android-gradle-plugin-preview.zip不是必须的),如果目录还不存在,你可以创建该目录:

  • 在 Windows 上:%USER_HOME%/.android/manual-offline-m2/
  • 在 macOS 和 Linux 上:~/.android/manual-offline-m2/

注意:

  1. manual-offline-m2 这个文件夹比较关键,以后如果你在想离线添加一些依赖时,你就需要将这些依赖放到这个文件夹里面。
  2. 如果你直接在联网的电脑中的 Android Studio 已缓存的依赖库直接复制一般是有问题的,例如,你直接复制gson的jar包是不行的,还需要将gson 包上面的文件夹名字也要复制过来,com.google.code.gson\gson\2.8.0\gson-2.8.0.jar,如果是这样的,你就需要在离线的manual-offline-m2文件夹下将上述的路径 逐级建立 一个文件夹,最里层的文件夹下面才是放gson-2.8.0.jar文件,如果不是这样的话,Android Studio 就无法在离线环境下识别所依赖的包,可以在解压offline-gmaven-stable中看到其他依赖的结构,你就会明白。

二、在Gradle配置中添加离线组件

需要告知 Android 编译系统使用你已经下载的离线组件,我们需要创建一个脚本。

1.使用以下路径和文件夹名字创建一个空文本文件:

  1. 在 Windows 上:%USER_HOME%/.gradle/init.d/offline.gradle
  2. 在 macOS 和 Linux 上:~/.gradle/init.d/offline.gradle

2.打开该文本并添加以下脚本:

def reposDir = new File(System.properties['user.home'], ".android/manual-offline-m2")
    def repos = new ArrayList()
    reposDir.eachDir {repos.add(it) }
    repos.sort()

    allprojects {
      buildscript {
        repositories {
          for (repo in repos) {
            maven {
              name = "injected_offline_${repo.name}"
              url = repo.toURI().toURL()
            }
          }
        }
      }
      repositories {
        for (repo in repos) {
          maven {
            name = "injected_offline_${repo.name}"
            url = repo.toURI().toURL()
          }
        }
      }
    }

3.(可选)如果您想要验证离线组件是否运行正常,请从项目的 build.gradle 文件中移除在线代码库(如下所示)。在确认您的项目不使用这些代码库也能正确编译之后,您可以将它们放回到 build.gradle 文件中。

buildscript {
        repositories {
            // Hide these repositories to test your build against
            // the offline components. You can include them again after
            // you've confirmed that your project builds ‘offline’.
            // google()
            // jcenter()
        }
        ...
    }
    allprojects {
        repositories {
            // google()
            // jcenter()
        }
        ...
    }

4.AS配置离线编译
File > Settings > Build, Execution, Deployment > Gradle 勾选 Offline work

三、其他设置

这里只是详细说明了Android Studio 离线的配置,还有一些重要的步骤这里就不详细阐述了:

  1. 安装 Android Studio
  2. 解压 Android SDK压缩包到任意方便的位置,AS的SDK位置设置到这个位置:file > Appearance & Behavior > System settings > Android SDK

   Android Studio 离线开发的配置基本就是这些,详细记录,以备查用。 sawg ^0^