我有一个自定义版本的依赖项(OkHttp),我想包含在Android Gradle项目中。它托管在GitHub上的https://github.com/cloewen8/okhttp-ntrip/tree/agra-gps。现在我想把它包含在一个Android项目中。
我找到了几种方法来解决这个问题。使用jitpack,使用git子模块或使用Gradle源依赖的子项目。Jitpack无法编译它(),并且使用子模块会导致更多的问题。
我目前的方法是依赖源代码。但是当它构建时,我得到错误No variants found for ':app'. Check build files to ensure at least one variant exists.
这是一个标准的Android项目结构,我已经安装了正确的SDK,应用程序将在build.gradle中没有这个依赖关系。我错过了什么?
在settings.gradle中:
import org.gradle.api.initialization.resolve.RepositoriesMode
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
}
}
// The source of the dependency is added here
sourceControl {
gitRepository("https://github.com/cloewen8/okhttp-ntrip.git") {
producesModule("com.squareup.okhttp3:okhttp")
}
}
rootProject.name = "AgraGPS"
include ':app'
在应用的build.gradle中(删除了不相关的部分):
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
android {
compileSdk 33
defaultConfig {
applicationId "com.agragps.agragps"
minSdk 21
targetSdkVersion 33
versionCode 3_000_000
versionName "3.00.0"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlin {
jvmToolchain(17)
}
namespace 'com.agragps.agragps'
buildToolsVersion '33.0.0'
}
dependencies {
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.10.0"))
// This is the dependency that causes the build error
implementation('com.squareup.okhttp3:okhttp') {
version {
branch = 'agra-gps'
}
}
}
1条答案
按热度按时间toe950271#
1.在Android Studio中打开项目。
2.在Project视图中,找到settings.gradle文件并将其打开。
3.在settings.gradle文件中,添加以下行以包含Git模块:
将module_name替换为所需的模块名称,将relative_path_to_module替换为Git模块目录的相对路径。
4.保存settings.gradle文件。
5.打开应用的build.gradle文件(通常位于应用模块中)。
6.在dependencies块中,添加以下行以包含Git模块作为依赖项:
将module_name替换为您在步骤3中指定的名称。
7.通过点击工具栏中的“立即同步”按钮,或从菜单中选择“文件”>“将项目与Gradle文件同步”,将项目与Gradle文件同步。
完成这些步骤后,您的Git模块将作为依赖项包含在Android Gradle项目中。然后,您可以根据需要在应用中使用Git模块中的类和资源。