Gần đây tôi đã nhập một lọ từ ứng dụng AWS chứa tất cả các đối tượng mà tôi sẽ tham chiếu trên ứng dụng Android của mình. Ngay sau đó là trong dự án Android Studio của tôi và nối qua Gradle, lỗi xuất hiện và không biến mất cho đến khi tôi xóa hết lọ nhập khẩu của tôi và xây dựng lại tất cả mọi thứ.Không thể sửa "ParseException: ma thuật tập tin lớp xấu (cafebabe) hoặc phiên bản (0034.0000)"
Tôi đọc:
Lỗi này có thể hợp pháp. Điều này có thể xảy ra khi ứng dụng Android vượt qua tên phương thức 65k. Ứng dụng của tôi có thể lớn, nhưng tôi sẽ ngạc nhiên nếu tất cả các thư viện mà tôi nhập tổng cộng trên đó .... Tôi sẽ không loại trừ nó ra, nhưng đó là rất nhiều phương pháp. Từ những gì tôi thấy, chín lần trong số mười, đây là một lỗi cấu hình. Các bài viết đầu tiên tôi đọc cho biết để cho phép Proguard để loại bỏ tất cả các phương pháp không sử dụng, nhưng điều đó đã không giúp đỡ.
cấu hình của tôi:
tôi có tất cả mọi thứ trên môi trường Android Studio của tôi thiết lập để chạy Java 7:
- bytecode dự án phiên bản: 1,7
- JDK vị trí: 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'
}
Tôi đã dành 5 giờ cuối cùng để thử mọi giải pháp trên SO và không có chút may mắn nào với bất kỳ giải pháp nào trong số đó.
Bản sao có thể có của [cafebabe loại kém hoặc phiên bản 0034] (http://stackoverflow.com/questions/33241359/bad-class-cafebabe-or-version-0034) –
https://stackoverflow.com/questions/ 24662801/bad-class-file-magic-hoặc-phiên bản? Lq = 1 có một vài câu trả lời cung cấp thông tin chi tiết tại sao IDE biên dịch mã của bạn với JDK 8 và cách khắc phục nó. –
@Oleg Bài đăng đầu tiên tôi sẽ xem xét. Tôi không biết người dùng đã xóa và biên dịch lại tệp nào. Bài đăng thứ hai tôi đã hoàn toàn cố gắng và không có may mắn. – Shadoninja