Я создал библиотеку для использования в большинстве наших проектов.До сих пор мы использовали Github с Jitpack, но срок нашей подписки на Jitpack истек, и мы нашли альтернативный способ загрузить проект в другое место.Для этого мы используем myMavenRepo .Из этого ответа я смог загрузить проект.Однако есть проблема (у которой нет ответа на включение зависимостей самого проекта.)
Проект содержит зависимости, и когда мы добавляем этот проект в другой проект, зависимости не добавляются.Я хотел бы выяснить, как это сделать.
Вот мой код:
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
task sourceJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier "sources"
}
publishing {
publications {
Repo(MavenPublication) {
groupId 'com.example.repo'
artifactId 'Repo'
version '1.3.7'
artifact(sourceJar)
artifact("$buildDir/outputs/aar/repo-release.aar")
}
}
repositories {
maven {
url "https://mymavenrepo.com/repo/repo_url/"
}
}
}
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 16
targetSdkVersion 28
versionCode 137
versionName "1.3.7"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation ("com.kochava.base:tracker:3.5.0") {
exclude group: "com.android.support"
}
implementation ("com.google.firebase:firebase-core:16.0.6") {
exclude group: "com.android.support"
}
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'
// Required: Install Referrer (If publishing to Google Play)
implementation 'com.android.installreferrer:installreferrer:1.0'
// Optional: Instant App Status Collection
implementation 'com.google.android.instantapps:instantapps:1.1.0'
// Required for Flurry Analytics integration
implementation 'com.flurry.android:analytics:11.4.0@aar'
// Crashlytics implementation.
implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
transitive = true
}
}
Процесс публикации сделан с ./gradlew clean build publish
(я использую Ubuntu), и публикация прошла успешно.На стороне чтения репозитория мы реализуем его следующим образом (после помещения URL maven в раздел allprojects):
implementation 'com.example.repo:Repo:1.3.7'
Пока добавляется сам проект, внутреннийтакие зависимости, как Crashlytics, Flurry, Firebase Core и т. д. не добавляются.Что я должен сделать, чтобы эта библиотека также реализовала свои собственные зависимости?Любая помощь приветствуется, спасибо.