7

我最近为客户开发了一个应用程序,现在必须在 Crashlytics 上共享它以进行 Beta 测试。我过去曾多次这样做,但使用此应用程序时,出现了问题。

当我在 Crashlytics Studio 的插件上上传我的应用程序时,没有错误。电子邮件已正确发送给测试人员。

但是在安装结束时,它说“软件包似乎已损坏”

这是我第一次看到这个,我不知道该怎么办。

我尝试使用所有此类 APK: - 调试(未签名)- 发布(未签名)- 发布(已签名)

它都不起作用。

这是我的 build.gradle :

    buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        // These docs use an open ended version so that our plugin
        // can be updated quickly in response to Android tooling updates

        // We recommend changing it to the latest version from our changelog:
        // https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
        classpath 'io.fabric.tools:gradle:1.24.1'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
    maven { url "https://jitpack.io" }
}

android {

    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        applicationId "com.xxxxxxx"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 3
        versionName "0.1.3"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        renderscriptSupportModeEnabled = true
    }
    buildTypes {
        release {
            minifyEnabled = true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    /**
     * SUPPORT LIBS
     */
    implementation 'com.android.support:appcompat-v7:26.0.2'
    implementation 'com.android.support:recyclerview-v7:26.0.2'
    implementation 'com.android.support:design:26.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-vector-drawable:26.0.2'

    /**
     * KOTLIN
     */
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    /**
     * UNIT TESTS
     */
    testImplementation 'junit:junit:4.12'
    androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    /**
     * HTTP
     */
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation "com.squareup.retrofit2:converter-gson:2.3.0"
    implementation "com.squareup.retrofit2:adapter-rxjava:2.3.0"
    implementation 'com.squareup.okhttp3:logging-interceptor:3.8.0'

    /**
     * INJECTION LIB
     */
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    /**
     * COMPONENT LIBS
     */
    implementation('com.mikepenz:fastadapter:2.6.3@aar') {
        transitive = true
    }
    implementation 'com.mikepenz:fastadapter-commons:2.6.3@aar'
    implementation 'com.mikepenz:fastadapter-extensions:2.6.3@aar'

    /**
     * IMAGE LOADING/CACHING/EDITING LIBS
     */
    implementation 'com.github.bumptech.glide:glide:4.1.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.1.1'
    implementation 'com.makeramen:roundedimageview:2.3.0'

    /**
     * PLAYERS VIDEO/MUSIC
     */
    implementation 'com.google.android.exoplayer:exoplayer:r2.0.0'
    implementation 'com.dailymotion.dailymotion-sdk-android:sdk:0.1.12'

    /**
     * EVENTBUS
     */
    implementation 'org.greenrobot:eventbus:3.0.0'

    /**
     * Overscroll
     */
    implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.3'
    implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.3'

    /**
     * FABRIC/CRASHLYTICS
     */
    implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true
    }
}

我该如何解决?

4

3 回答 3

5

从 Android Studio 3.0 开始,如果我尝试通过用户界面上传 apk,我会遇到完全相同的问题。

目前,您必须使用命令行来上传 apk,如文档所述。

./gradlew assembleDebug crashlyticsUploadDistributionDebug

我希望这个能帮上忙 !

于 2017-11-01T20:01:56.727 回答
2

使用Build APK(s)选项而不是Run!我还建议先清理项目。

在此处输入图像描述

于 2018-04-06T14:00:16.403 回答
1

我在这里回答了一个类似的问题

对我来说,解决方案是将 gradle 从版本 3.0.0(随 Android Studio 3 引入)降级到 2.3.3(以前的版本)。我通过替换项目 .gradle 文件中的这一行来做到这一点:

    buildscript {
    repositories {
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        ...
    }
}

和:

    buildscript {
    repositories {
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
        ...
    }
}

在 clen 和 build 之后,我能够将我的应用程序上传到 Beta 并毫无问题地安装它。

于 2017-11-09T16:48:30.330 回答