将Android库上传到Bintray时出现问题

时间:2019-01-05 18:43:07

标签: android-studio gradle android-library bintray

我花了数天时间尝试可以找到的所有教程,并将我的Android库GnarlyDialog发布到Bintray。

不久前,我将资源上传到Bintray,可以通过执行R.drawable.library_resource_name在应用程序中进行引用,但是库代码本身从未成功上传。

我从所有教程中都删除了build.gradle文件中的所有杂物,并且想知道是否有人可以帮助我确切地显示我需要添加到gradle文件中以便成功将库上传到Bintray。

我使用的是AndroidStudio建议的最新AndroidStudio 3.2.1和最新的Gradle版本4.6。

我的Bintray使用名和API密钥位于{。{1}}和bintrayUserName的local.properties文件中,我有一个名为bintrayApiKey的Bintray仓库,我想在其中发布我的Android图书馆。

最后,许多教程让您从命令行终端运行maven,该终端总是会因几个不同的错误而失败。我确保将Android Studio设置为gradlew clean build install bintrayUpload,但是那些终端gradle命令似乎仍然不起作用。即使是简单的Use embedded JDK命令也会因以下错误而失败,因此无法从命令行运行gradle任务也可能是问题的一部分。尽管所有的Build-> MakeProject / CleanProject / RebuildProject都可以从IDE正常运行。

在此感谢您为解决此错误并帮助我发布Android库提供帮助!

gradlew tasks命令错误

  

失败:构建失败,并出现异常。

     

其中:   构建文件'C:\ *********** \ GnarlyDialogSampleApp \ app \ build.gradle'行:1

     

出了什么问题:

     

评估项目':app'时发生问题。

     

未初始化的对象存在于反向分支70

     

异常详细信息:

     

位置:

     

com / android / build / gradle / internal / scope / BuildArtifactsHolder.newArtifact(Lcom / android / build / api / artifact / BuildableArtifact;)Lcom / android / build / gradle / internal / scope / BuildArtifactsHolder $ BuildableArtifactData; @ 119:转到

     

原因:

     

字节码中存在错误

     

字节码:         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

     

Stackmap表:         full_frame(@ 70,{Object [#2],Object [#83],Object [#371],Object [#371],Object [#184],Object [#400],Top,Top,Top,Top,页首,未初始化[#0],未初始化[#0],对象[#184]},{})         same_frame(@ 122)

我的顶级项目级别的build.gradle文件是:

gradlew tasks

我的库模块级别的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'
}

此外,我的gradle-wrapper.properties文件显示了最新的gradle版本4.6是

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')
}

此外,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 会输出此内容(它表示Windows 8.1,但我使用的是Windows 10)

gradlew --version

0 个答案:

没有答案