我将项目迁移到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')
}
}