成功的gradle程序集后,Android Release APK崩溃

时间:2014-06-03 15:07:49

标签: android gradle android-studio

我将项目迁移到Android Studio。我在构建应用程序并从Android Studio运行时没有遇到任何问题。我运行Android生成的调试APK没有问题#34;生成签名APK"选项。当我想构建一个发布APK时,我运行

 gradle assembleRelease

Gradle通过BUILD SUCCESSFUL完成它的工作并完成。

当我在我的设备上安装此版本APK时,它会立即崩溃,因为(具有讽刺意味)Crashlytics缺少依赖性。我按照他们的指示添加了Crashlytics jar。

我很困惑为什么gradle似乎总体上起作用,但不是为了发布。任何建议都非常感谢!

这是main build.gradle

apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:support-v4:19.0.+'
    compile project(':stripe')

    repositories {
        mavenCentral()
    }
    compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abs:+'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'

}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    signingConfigs {

        release {

            storeFile file(****)
            storePassword "****"
            keyAlias "****"
            keyPassword "****"
        }
    }

    buildTypes {

        release {

            signingConfig signingConfigs.release
        }
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            lib.srcDirs
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

这是stripe的build.gradle:

apply plugin: 'android-library'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "19.0.0"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src/main/java','src/test/java']
            resources.srcDirs = ['src/main/java','src/test/java']
            aidl.srcDirs = ['src/main/java','src/test/java']
            renderscript.srcDirs = ['src/main/java','src/test/java']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')
    }
}

1 个答案:

答案 0 :(得分:1)

来自Crashlytics的Hemal,我可以完全帮助这个!继续并快速浏览设置说明here。这将照顾你所看到的错误:)