Ошибка в библиотеке, созданной с помощью jitpack: невозможно разрешить зависимость для ':app@debug/compileClasspath'
Я пытаюсь опубликовать свою библиотеку Android на jitpack.io, но когда я пытался добавить зависимость для проверки своего артефакта, я получаю эту ошибку:
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.github.pashaoleynik97:GSBarcodeScannerHelper:0.1.1-alpha.
Open File
Show Details
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.github.pashaoleynik97:GSBarcodeScannerHelper:0.1.1-alpha.
Open File
Show Details
Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.github.pashaoleynik97:GSBarcodeScannerHelper:0.1.1-alpha.
Open File
Show Details
Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve com.github.pashaoleynik97:GSBarcodeScannerHelper:0.1.1-alpha.
Open File
Show Details
Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Could not resolve com.github.pashaoleynik97:GSBarcodeScannerHelper:0.1.1-alpha.
Open File
Show Details
Мои файлы Gradle в проекте библиотеки перечислены ниже.
мой build.gradle
(приложение):
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.github.pashaoleynik97.gsbarcodescannerhelperdemo"
minSdkVersion 21
targetSdkVersion 28
versionCode 2
versionName "1.1"
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:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
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'
implementation project(':gsbarcodescannerhelper')
}
мой build.gradle
(Gsbarcodescannerhelper):
apply plugin: 'com.android.library'
group='com.github.pashaoleynik97;'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
versionCode 2
versionName "0.1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
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'
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.10'
implementation(name: 'generalscan-sdk-1.0.6', ext:'aar')
}
И наконец, мой build.gradle
(Проект):
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
flatDir {
dirs project(':gsbarcodescannerhelper').file('libs')
}
maven { url 'https://jitpack.io' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Я поместил свой проект на github, создал выпуск (через веб-интерфейс github), затем перешел на jitpack.io и опубликовал свою библиотеку. Но когда я попытался добавить эту библиотеку в свой новый тестовый проект, у меня были ошибки (перечисленные в верхней части этого поста). Что я делаю не так?
UPD
Я тоже пытался добавить classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
как в этой документации: https://jitpack.io/docs/ANDROID/ Но результат остается прежним.
UPD 2
Созданная проблема: https://github.com/jitpack/jitpack.io/issues/3758
0 ответов
Jitpack - очень чувствительный инструмент. Эта проблема возникает по множеству причин. Я постараюсь их перечислить.
1) Неудачные модульные тесты; если у вас есть какие-либо неудачные модульные тесты, вы сможете создать артефакт в jitpack (без сообщений о проблемах), но не сможете ссылаться на артефакт. Убедитесь, что все ваши модульные тесты работают правильно.
2) Желательно, чтобы вы включили в свой уровень проекта gradle для проекта, который должен быть артефактом, следующее:
Вершина уровня проекта Gradle
apply plugin: 'maven-publish'
group = '<add-your-package-name-here>'
и в самом низу уровня вашего проекта Gradle включают
apply from: 'https://raw.githubusercontent.com/sky-uk/gradle-maven-plugin/master/gradle-mavenizer.gradle'
Теперь сгенерируйте артефакт и посмотрите, работает ли ссылка.
3) Частный артефакт? Возможно, вы неправильно ссылаетесь на свой артефакт. Если ваше репо является частным, обязательно добавьте токен аутентификации в gradle.properties, а затем укажите его в Gradle уровня проекта следующим образом:
gradle.properties
authToken=jp_myfake_token
Уровень проекта Gradle:
maven {
url "https://jitpack.io"
credentials{ username authToken }
}
4) Подождите час. По какой-то причине в Jitpack возникают проблемы с синхронизацией и кешированием. Иногда все, что вам нужно сделать, это подождать час (или два), и все начинает работать.
Надеюсь, один из них поможет вам решить вашу проблему. Jitpack прост в установке, но в нем есть ошибки.
Убедитесь , что вы добавляете maven { url "https://jitpack.io" }
в build.gradle
(Уровень проекта) вот так:
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
Кроме того, убедитесь, что ваш автономный режим Gradle отключен
Теперь это бесплатно только для общедоступных репозиториев... Если вы поместите URL-адрес своего репозитория в https://jitpack.io/ и посмотрите вверх, вы увидите следующее сообщение в виде журнала:
Subscription not active