Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't read [/sdk/platforms/android-25/android.jar] (Can't process class [java/text/CollationElementIterator.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7))) #363

Closed
vanniktech opened this issue Jan 28, 2017 · 4 comments

Comments

@vanniktech
Copy link

I'm trying to build a release version of an app using ./buck build appRelease

However it fails:

ProGuard, version 4.7
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.animated-vector-drawable-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.appcompat-v7-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.design-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.recyclerview-v7-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.support-compat-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.support-core-ui-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.support-core-utils-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.support-fragment-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.support-media-compat-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.support-v4-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.support-vector-drawable-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.transition-25.1.0.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.crashlytics.sdk.android.answers-1.3.11.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.crashlytics.sdk.android.beta-1.2.3.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.crashlytics.sdk.android.crashlytics-2.6.6.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.crashlytics.sdk.android.crashlytics-core-2.3.15.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.android.gms.play-services-basement-10.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.android.gms.play-services-tasks-10.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.firebase.firebase-analytics-10.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.firebase.firebase-analytics-impl-10.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.firebase.firebase-common-10.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.firebase.firebase-core-10.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.firebase.firebase-iid-10.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.firebase.firebase-messaging-10.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.jakewharton.butterknife-8.5.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.jakewharton.timber.timber-4.5.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.squareup.leakcanary.leakcanary-android-1.5.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__io.fabric.sdk.android.fabric-1.3.15.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__io.reactivex.rxjava2.rxandroid-2.0.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__net.danlew.android.joda-2.9.5.1.aar#aar_prebuilt_jar__/classes.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.android.support.support-annotations-25.1.0.jar__/com.android.support.support-annotations-25.1.0.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.google.dagger.dagger-2.8.jar__/com.google.dagger.dagger-2.8.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.jakewharton.butterknife-annotations-8.5.1.jar__/com.jakewharton.butterknife-annotations-8.5.1.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.jakewharton.retrofit.retrofit2-rxjava2-adapter-1.0.0.jar__/com.jakewharton.retrofit.retrofit2-rxjava2-adapter-1.0.0.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.ryanharter.auto.value.auto-value-parcel-adapter-0.2.5.jar__/com.ryanharter.auto.value.auto-value-parcel-adapter-0.2.5.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.squareup.leakcanary.leakcanary-android-no-op-1.5.aar#aar_prebuilt_jar__/classes.jar]
Note: duplicate definition of program class [com.squareup.leakcanary.LeakCanary]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.squareup.moshi.moshi-1.3.1.jar__/com.squareup.moshi.moshi-1.3.1.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.squareup.okhttp3.logging-interceptor-3.5.0.jar__/com.squareup.okhttp3.logging-interceptor-3.5.0.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.squareup.okhttp3.okhttp-3.5.0.jar__/com.squareup.okhttp3.okhttp-3.5.0.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.squareup.okio.okio-1.11.0.jar__/com.squareup.okio.okio-1.11.0.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.squareup.retrofit2.converter-moshi-2.1.0.jar__/com.squareup.retrofit2.converter-moshi-2.1.0.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__com.squareup.retrofit2.retrofit-2.1.0.jar__/com.squareup.retrofit2.retrofit-2.1.0.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__io.reactivex.rxjava2.rxjava-2.0.4.jar__/io.reactivex.rxjava2.rxjava-2.0.4.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__javax.inject.javax.inject-1.jar__/javax.inject.javax.inject-1.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__joda-time.joda-time-2.9.6-no-tzdb.jar__/joda-time.joda-time-2.9.6-no-tzdb.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/.okbuck/cache/__org.reactivestreams.reactive-streams-1.0.0.jar__/org.reactivestreams.reactive-streams-1.0.0.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/app/lib__src_release__output/src_release.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/app/lib__bin_release#buildconfig_com_ovyapp_android__output/bin_release#buildconfig_com_ovyapp_android.jar]
Reading program jar [/home/nik/dev/project/buck-out/gen/app/lib__bin_release#compile_uber_r_dot_java__output/bin_release#compile_uber_r_dot_java.jar]
Reading library jar [/home/nik/android/adt-bundle-linux-x86_64-20140702/sdk/platforms/android-25/android.jar]

Error: Can't read [/home/nik/android/adt-bundle-linux-x86_64-20140702/sdk/platforms/android-25/android.jar] (Can't process class [java/text/CollationElementIterator.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7)))

BUILD FAILED: //app:bin_release failed with exit code 1:
proguard_obfuscation
stderr: Error: Can't read [/home/nik/android/adt-bundle-linux-x86_64-20140702/sdk/platforms/android-25/android.jar] (Can't process class [java/text/CollationElementIterator.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7)))

The project is using Retrolambda and has Java 8 set as compileOptions:

compileOptions {
  sourceCompatibility JavaVersion.VERSION_1_8
  targetCompatibility JavaVersion.VERSION_1_8
}

The machine is having the following Java Version:

java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

Building with Gradle works perfectly fine.

@Macarse
Copy link
Contributor

Macarse commented Jan 28, 2017

@vanniktech I would recommend you doing a small sample project to reproduce the issue and share it.
I am in the process of migrating a big app and most of my issues end up being a problem with my cfg rather than okBuck.

@vanniktech
Copy link
Author

I tried to recreate that problem in a small sample project although I had no luck - otherwise I'd have.

@Macarse
Copy link
Contributor

Macarse commented Jan 29, 2017

@vanniktech have you checked the logs? are the proguard versions the same? build tools versions?

Another thing to try:
In my project I add okBuck like this:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath('com.uber:okbuck:0.15.6') {
          exclude module: 'gradle'
        }
    }
}

without the exclude module it override the version of com.android.tools.build:gradle. AFAIK proguard will depend on the build tools versions, but it won't hurt to try.

@kageiit
Copy link
Contributor

kageiit commented Jan 29, 2017

This is because buck is not using the same proguard version as gradle. This can be fixed by setting an explicit proguard jar as done in the sample app in okbuck, but I am also making a change to make buck automatically pickup the same proguard version that ships with the android gradle plugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants