【发布时间】:2016-01-10 07:18:37
【问题描述】:
我最近从我的 AWS 应用程序导入了一个 jar,其中包含我将在我的 Android 应用程序上引用的所有对象。只要它在我的 Android Studio 项目中并通过 Gradle 连接,错误就会出现并且不会消失,直到我清除导入的 jar 并重建所有内容。
我读到的:
这个错误可能是合法的。当 Android 应用程序的方法名称超过 65k 时,就会发生这种情况。我的应用程序可能很大,但如果我导入的所有库都超过了它,我会感到惊讶......我不会排除它,但这是很多方法。据我所见,十分之九,这是一个配置错误。我阅读的前几篇文章说让 Proguard 能够删除所有未使用的方法,但这并没有帮助。
我的配置:
我将 Android Studio 环境中的所有内容都设置为运行 Java 7:
- 项目字节码版本:1.7
- JDK 位置:C:\Program Files\Java\jdk1.7.0_45
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.maveric.helloworld"
minSdkVersion 15
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:4.2.42'
compile 'com.android.support:appcompat-v7:20.0.0'
compile 'org.apache.commons:commons-io:1.3.2'
compile 'com.cedarsoftware:json-io:4.3.0'
}
在过去的 5 个小时里,我在 SO 上尝试了每一个解决方案,但其中任何一个都没有运气。
【问题讨论】:
-
stackoverflow.com/questions/24662801/… 提供了一些答案,这些答案提供了 IDE 为何使用 JDK 8 编译您的代码以及如何修复它的见解。
-
@Oleg 我会看的第一篇文章。我不知道用户删除并重新编译了什么文件。我已经完全尝试过的第二篇文章没有运气。
标签: android-studio