Beta由Crashlytics – 包似乎已损坏

我最近为客户开发了一个应用程序,现在必须在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 } } 

我该如何解决?

从Android Studio 3.0开始,如果我尝试通过用户界面上传apk,则会出现同样的问题。

现在,您将不得不使用命令行来上传apk 文件 。

 ./gradlew assembleDebug crashlyticsUploadDistributionDebug 

我希望这会有所帮助!

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

对我来说,解决方案是将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,并且没有任何问题地安装它。