AndroidStudio内网编译环境搭建

AndroidStudio内网编译环境搭建,第1张

AndroidStudio内网编译环境搭建 参考如下博客: Android Studio官方推荐内网离线配置 - usrbin - 博客园 根据该博客介绍和自己实践总结如下: 官方提供的方法:

1. AndroidStudio开启Gradle的离线模式:如果你的带宽小或者不能联网,开启Gradle离线模式防止它在构建的时候下载缺失的依赖库。当开启离线模式时,如果你的项目缺失了某些依赖库,Gradle会抛出一个构建失败的报错,而不是尝试下载它们。按照以下步骤开启离线模式:           单击 File > Settings(Mac平台上为 Android Studio > Preferences)打开设置对话框。           展开左侧面板的 Build, Execution, Deployment选项,并单击 Gradle。           在 Global Gradle settings下,选中 Offline work复选框。          单击 Apply或者 OK让你的修改生效。 2. 配置离线构建依赖: 如果需要在没有网络的情况下构建项目,使用以下链接下载Google Maven依赖库的离线版本 Download Android Studio and SDK tools  |  Android Developers  在这个网页除了可以下载AndroidStudio,还可以下载  Google Maven dependencies 下载解压Maven依赖离线组件。 当你下载完离线组件的时候,解压到以下目录。如果以下目录不存在,你需要手动去创建它们。 On Windows: %USER_HOME%/.android/manual-offline-m2/ On macOS and Linux: ~/.android/manual-offline-m2/ 按照以下步骤更新离线组件(可以不删):         删除manual-offline-m2目录下的内容。         重新下载离线组件。         解压下载的离线组件到manual-offline-m2目录下。 为了让Android构建系统使用你下载的离线组件,你需要创建下面这样一个脚本。记住,你只需要创建一次这个脚本,后续更新离线组件不需要修改它。 在以下目录创建一个空的文本文件: On Windows: %USER_HOME%/.gradle/init.d/offline.gradle On macOS and Linux: ~/.gradle/init.d/offline.gradle 打开文本文件并输入以下内容:
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()
}
}
}
}

保存这个文件。 在内外编译工程时,移除build.gradle文件中所有在线库。
buildscript {
repositories {
// google()
// jcenter()
}
...
}
allprojects {
repositories {
// google()
// jcenter()
}
...
}

也可以在build.gradle文件中设置,如下:
​
repositories {
      maven { url 'D://Users/user2/.m2/repository' }
}
​

指定离线库位置(上面的路径自己根据实际情况配置)。 在做自动化编译时,可以使用命令进行编译,如: gradlew.bat clean --offline gradlew.bat assembleRelease --offline 这样内网的编译环境就初步搭建完毕了。但是编译的时候依然会有很多依赖文件找不到。这就需要在外网根据编译的提示去下载相关依赖包了。下面介绍下如何下载依赖包: 外网下载依赖包: 依赖包一般是放在maven,google和jcenter仓库的,我们在 build.gradle 中配置google(),jcenter(),maven()其实就是让gradle编译时去这几个仓库下载依赖罢了,大部分依赖在maven仓库都能下载到,如果不行就去google或jcenter仓库下载看看。 有时一个依赖包还存在其他的依赖,如果全部去手动下载太过麻烦,可以在外网机器上安装一个maven工具,使用maven工具去下载。 配置可参考: AndroidStudio使用本地Maven库 - 简书 maven工具配置方法如下:

1.下载Maven

首先我们要先下载Maven,下载好之后配置好环境变量,如下: 变量名:MAVEN_HOME 变量值:D:apache-maven-3.5.2 变量名:Path 变量值:%MAVEN_HOME%bin; cmd中输入mvn –v显示Maven home: D:apache-maven-3.5.2等数值表示配成功

2.配置Maven本地仓

打开conf->setting.xml文件,新建本地Maven仓,修改如下:
D:maven_repositorymaven-dependcies

设置代理(这步可以不设置):



MyProxy
true
http
username
password
proxy
8080
repository.mycom.com|*.google.com


MyProxy2
true
https
username
password
proxy
8080
repository.mycom.com|*.google.com

设置远程Maven库(这步可以不设置):


 google
google
 https://maven.google.com/
 central

配置完成后。 在D:maven_repositorymaven-dependcies创建文件夹(这个可以调整,只要和maven工具conf->setting.xml中的配置一样即可) 在D:maven_repositorymaven-dependcies文件夹下新建一个pom.xml文件,内容如下:

    4.0.0
    com.companyname.project-group
    project
    1.0
    
    
        
        
            org.jetbrains.trove4j
            trove4j
            20160824
        
    

如果需要下载某个依赖包,在dependency下配置好, 然后在该目录下,执行 mvn clean compile 命令,就能下载相对定的资源了。 下载的依赖包就在D:maven_repositorymaven-dependcies文件夹下按照 org/jetbrains/trove4j/ trove4j/ 20160824的目录保存的。将下载的依赖包拷贝到内网,和从google下载离线依赖包放一起即可。

有些依赖库在maven仓库下载不到怎么办?   那么可以尝试去其他两个库下载。例如:                 com.android.tools.build.jetifier              jetifier-core             1.0.0-beta04       这个库在maven仓库就下载不到。这时我们就可以手动去google仓库或者jcenter仓库下载。几个仓库的下载链接头部如下: mavne:
https://repo.maven.apache.org/maven2

jcenter:
https://jcenter.bintray.com/

google:需要梯子
https://dl.google.com/dl/android/maven2

以上面的库为例,我们可以构造如下的链接,在浏览器去试试看能不能下载pom文件和jar文件: https://dl.google.com/dl/android/maven2/ com/android/tools/build/jetifier/ jetifier-core/ 1.0.0-beta04.pom https://dl.google.com/dl/android/maven2/ com/android/tools/build/jetifier/ jetifier-core/ 1.0.0-beta04.jar 如果下载成功,那么拷贝到内网,放在google依赖包目录,按照 com/android/tools/build/jetifier/ jetifier-core/ 1.0.0-beta04层次放置pom和jar文件即可。 注意:有些依赖包只有pom,没有jar,所以,在下载时,pom下载成功了,但是jar没有下载到也没关系,直接把pom文件放在内网相应目录,重新编译再看报什么错。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5682672.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存