在build.gradle for android studio中设置Nexus存储库

r7xajy2e  于 2022-12-19  发布在  Android
关注(0)|答案(2)|浏览(215)

我想在我的gralde config中设置一个nexus repo来访问一些本地库。
我是否需要在我的gradle配置中设置nexus存储库,如下所示?

repositories {
    mavenLocal()
    maven {
        url "http://mySuperRepo/nexus/content/groups/public/"
    }

    jcenter()
}

我已经在maven配置文件(m2中的settings.xml)中设置了nexus

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<proxies>
    <proxy>
        <active>true</active>
        <protocol>http</protocol>
        <host>proxy.host.com</host>
        <port>8081</port>
        <username>username</username>
        <password>password</password>
        <nonProxyHosts>nonProxyHost.net</nonProxyHosts>
    </proxy>
</proxies>

<servers>
    <server>
            <id>nexus</id>
            <username>useeeername</username>
            <password>passwoooord</password>
    </server>
</servers>

<mirrors>
    <mirror>
            <id>idMyMirror</id>
            <mirrorOf>*</mirrorOf>
            <url>http://mySuperRepo/nexus/public/</url>
    </mirror>
</mirrors>

我的问题是AndroidStudio似乎下载了我笔记本电脑中所有的Nexus Repo。.AndroidStudio/文件夹占用48 GB。如果我删除这个文件夹,下次打开AndroidStudio时所有内容都会再次下载。
你有办法吗?

g52tjvyc

g52tjvyc1#

它不应该从存储库中下载所有内容,而应该只下载所需内容,但在本地Maven存储库中找不到。Gradle完全不会考虑您的Maven设置文件,但在您的情况下,它会从本地存储库中下载工件。
如果您根本不使用Maven,我会删除本地Maven存储库(~/.m2/repository)以及build.gradle文件中对它的引用。
在任何情况下,下载都是由AndroidStudio和Gradle完成的,并缓存在Gradle的本地缓存~/.gradle/caches中,它应该只下载所需的内容。48 GB似乎太大了,可能是Gradle或AndroidStudio配置或bug导致的。当然,除非您的项目真的那么复杂。
下载这么多的事实和Nexus无关,完全和客户端工具有关。您可能还想在Nexus中将jcenter配置为代理存储库,而不是在build.gradle文件中直接引用它。

ndh0cuux

ndh0cuux2#

将此URL放入android studio中的build.gradle
maven { url '连接服务器/存储库/gradle/' } maven { url '连接服务器/存储库/mvn/' }
其中,在Nexus服务器中,mvn存储库为https://repo.maven.apache.org/maven2/",而gradle存储库为https://dl.google.com/dl/android/maven2/

相关问题