如何将 Nexus 存储库文件提取到 Android 应用程序中

sum*_*eet 3 android nexus repo

我想为我的模块的 .aar 文件定义 gradle 依赖项,该文件已上传到 nexus 存储库上。现在我试图将同一个 .aar 文件的依赖关系声明到我的 android 应用程序的 gradle 文件中,但无法从 Nexus 存储库中获取 .aar 文件。

我在 android 应用程序的 build.gradle 文件中使用以下条目:

buildscript {
    repositories {
        jcenter()
        maven {
            url 'https://MY_COMPANY_DOMAIN/nexus/content/repositories/MY_PROJECT-Releases/'
        }
    }
}

dependencies {
    compile 'GROUP_NAME:FILE_NAME:VERSION_NUMBER'
}
Run Code Online (Sandbox Code Playgroud)

构建我的项目后,我收到以下错误:

"Error:Could not find GROUP_NAME:FILE_NAME:VERSION_NUMBER.
Required by:
    PROJECT_NAME:app:unspecified
<a>Search in build.gradle files</a>"
Run Code Online (Sandbox Code Playgroud)

注意:在我的例子中,Nexus 存储库是安全的,我们需要使用凭据来访问该存储库。我认为,我们还需要在 gradle 文件内的某个位置指定身份验证数据。请建议我,我们如何在 gradle 中定义身份验证部分以从 Nexus 存储库获取 .aar/.jar 文件。

谢谢,苏梅特。

dit*_*itn 5

您需要添加身份验证信息,然后才能正确同步。创建一个~/.gradle/gradle.properties文件(如果尚不存在),然后添加您的凭据,如下所示:

nexusUrl=mycompanydomain
nexusUsername=myusername
nexusPassword=mypassword
Run Code Online (Sandbox Code Playgroud)

然后将这些凭据添加到您的存储库声明中:

repositories {
    maven {
        url nexusUrl + 'nexus/content/repositories/MY_PROJECT-Releases/'
        credentials(PasswordCredentials) {
            username nexusUsername
            password nexusPassword
        }
    }
}
Run Code Online (Sandbox Code Playgroud)