Я потратил несколько дней, пытаясь найти каждый учебник, чтобы попытаться опубликовать мою библиотеку Android GnarlyDialog в Bintray.
Некоторое время назад я подошел, где ресурсы были загружены в Bintray и на них можно было ссылаться в приложении, выполнив R.drawable.library_resource_name
, но сам код библиотеки никогда не был успешно загружен.
Я удалил все помехи в файлах build.gradle из всех руководств и подумал, может ли кто-нибудь помочь мне показать, что именно мне нужно добавить в файлы gradle, чтобы успешно загрузить библиотеку в Bintray.
Я использую новейшую версию AndroidStudio 3.2.1 с последней версией Gradle 4.6, предложенной AndroidStudio.
Имя пользователя и ключ API Bintray находятся в файле local.properties как bintrayUserName
и bintrayApiKey
, и у меня есть репозиторий на Bintray с именем maven
, где я хочу опубликовать свою библиотеку Android на.
Наконец, во многих руководствах вы запускаете gradlew clean build install bintrayUpload
из терминала командной строки, который всегда дает сбой с парой разных ошибок. Я убедился, что для Android Studio установлено значение Use embedded JDK
, но эти команды захвата терминала по-прежнему не работают. Даже простая команда gradlew tasks
завершается неудачно с приведенной ниже ошибкой, поэтому невозможность запуска задач gradle из командной строки также может быть частью проблемы. Все Build -> MakeProject / CleanProject / RebuildProject отлично работают из IDE.
Заранее благодарим за помощь в устранении этой ошибки и за помощь в публикации моей библиотеки Android!
gradlew tasks
ошибка команды
FAILURE: сборка не удалась, исключение.
Где:
Строка файла сборки "C: \ *********** \ GnarlyDialogSampleApp \ app \ build.gradle": 1
Что пошло не так:
Возникла проблема при оценке проекта ': app'.
Неинициализированный объект существует в обратной ветви 70
Сведения об исключении:
Расположение:
ком / Android / построить / Gradle / внутренний / сфера / BuildArtifactsHolder.newArtifact (Lcom / Android / построить / API / артефакт / BuildableArtifact;) Lcom / Android / построить / Gradle / внутренний / сфера / BuildArtifactsHolder $ BuildableArtifactData; @ 119: перейти к
Причина:
В байт-коде существует ошибка
Bytecode:
0x0000000: bb02 0559 2bb9 0208 0100 c000 b82b b902
0x0000010: 0c01 0001 b902 1202 0059 1302 14b8 0051
0x0000020: c001 734d 3a0d 3a0c 3a0b 2c4e bb01 a659
0x0000030: 2c10 0ab8 0177 b701 a7c0 00b8 3a04 2db9
0x0000040: 018e 0100 3a05 1905 b901 9401 0099 002d
0x0000050: 1905 b901 9801 003a 0619 0419 06c0 00f1
0x0000060: 3a07 3a0e 1907 b902 1501 003a 0f19 0e19
0x0000070: 0fb9 01ad 0200 57a7 ffcf 1904 c001 af3a
0x0000080: 0e19 0b19 0c19 0d19 0eb7 0218 b0
Таблица стеков:
full_frame (@ 70, {Объект [# 2], объект [# 83], объект [# 371], объект [# 371], объект [# 184], объект [# 400], Вверх, Вверх, Вверх, Вверх, Вверх, Неинициализированная [# 0], Неинициализированная [0 #], объект [# 184]}, {})
same_frame (@ 122)
Мой файл build.gradle верхнего уровня проекта:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Файл build.gradle уровня моего библиотечного модуля -
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
versionCode 7
versionName "0.1.6"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.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'
}
Мой пример файла уровня build.gradle приложения -
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "me.seandillon.gnarlydialogsampleapp"
minSdkVersion 19
targetSdkVersion 26
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:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:26.1.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'
// Add the library project locally as a dependency
implementation project(':gnarlydialog')
}
Кроме того, мой файл gradle-wrapper.properties с последней версией gradle 4.6 -
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
Кроме того, gradlew --version
выводит это (говорит Windows 8.1, но я на Windows 10)
------------------------------------------------------------
Gradle 4.6
------------------------------------------------------------
Build time: 2018-02-28 13:36:36 UTC
Revision: 8fa6ce7945b640e6168488e4417f9bb96e4ab46c
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM: 1.8.0_20 (Oracle Corporation 25.20-b23)
OS: Windows 8.1 6.3 amd64