我有一个Gradle项目,其中的一个模块是具有本地jni部分的应用程序; jni代码所需的“ .so”库位于内部Nexus存储库中托管的zip文件中。
我正在尝试为此zip文件设置依赖性,因此我可以在Nexus存储库上使用gradle标准身份验证机制和缓存功能(该zip文件离散较大),并具有一个预构建任务,该任务实际上提取了zip中的.so文件,以便jni构建可以使用它。
按标题显示,问题是gradle正确下载了pom文件,但完全忽略了相关的zip文件,而没有输出任何有关无法解决依赖关系的错误。
使用的gradle版本是4.6。
在nexus服务器上,pom和zip文件的命名如下:
<company and project>-1.5.5-20181112.115014-4.pom
<company and project>-1.5.5-20181112.115014-4-20181112_114531_245-BIN-CKT.zip
这是我的build.gradle的样子:
apply plugin: 'com.android.application'
buildscript {
repositories {
jcenter()
mavenLocal()
maven { url 'https://plugins.gradle.org/m2/' }
}
dependencies {
classpath 'nu.studer:gradle-credentials-plugin:1.0.1'
}
}
apply plugin: 'nu.studer.credentials'
repositories {
mavenLocal()
maven {
url '<internal nexus address>'
credentials {
// see https://github.com/etiennestuder/gradle-credentials-plugin
username = project.credentials.nexus_user
password = project.credentials.nexus_password
}
}
jcenter()
}
android {
compileSdkVersion 22
defaultConfig {
applicationId "<app id>"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:22.2.1'
implementation project(':<project name>')
compileOnly '<zip group on nexus>:<zip project name>:1.5.5-20181112.111104-2:20181112_110705_243-BIN-CKT@zip'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
android {
lintOptions {
abortOnError false
}
externalNativeBuild {
ndkBuild {
path 'src/main/cpp/Android.mk'
}
}
defaultConfig {
ndk {
// Specifies the ABI configurations of your native
// libraries Gradle should build and package with your APK.
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
任何见识将不胜感激。