2017-01-20 20 views
2

を解析することはできませんので、私は信号R.にエラー:原因:デックスは、バージョン52のバイトコード

を使用していますAndroidアプリを構築している私はsignalr-クライアント-SDK-アンドロイドとsignalr-クライアントの両方をインポートしています私は私が見つけた小さな研究した後

Error converting bytecode to dex

:各ファイルについてのGradleが正常にビルドが、私は、全体のコードをコンパイルしようとしていたとき、私は以下のメッセージが表示されますGithub repo

で発見-sdkそれを明らかに、リポジトリからダウンロードしたlibsは、Androidスタジオ設定で1.8を使用している間にjdk 1.7を使用してコンパイルされます。

どのように私はこれを解決できますか?

あなたは私のGradleのファイルを見ることができます:

マイアプリのGradleを:

buildscript { 
    repositories { 
     maven { 
      url 'https://maven.fabric.io/public' 
     } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.+' 

    } 
} 
apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 
apply plugin: 'com.google.gms.google-services' 

repositories { 
    maven { 
     url 'https://maven.fabric.io/public' 
    } 
    maven { 
     url 'https://clojars.org/repo' 
    } 
} 

android { 
    compileSdkVersion 25 
    buildToolsVersion "23.0.2" 

    sourceSets.main { 
     jni.srcDirs = [] 
     jniLibs.srcDir 'src/main/libs' 
    } 

    defaultConfig { 
     applicationId "com.pushdr.application" 
     minSdkVersion 17 
     targetSdkVersion 17 

     ndk { 
      moduleName "ndkVidyoSample" 
     } 
    } 

    repositories { 
     jcenter() 
     maven { 
      url "https://jitpack.io" 
     } 
     mavenCentral() 
     maven { 
      url 'https://github.com/FireZenk/maven-repo/raw/master/' 
     } 

    } 

    allprojects { 
     repositories { 
      mavenCentral() 
     } 
    } 

    buildTypes { 
     release { 
      shrinkResources false 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 


    productFlavors { 
     armv7a { 
      ndk { 
       abiFilter "armeabi-v7a" 

      } 
     } 
     fat ///This build contain multi architecture binary 
    } 
} 

dependencies { 

    //facebook SDK 

    //Used for Signal R + Chat 

    //Used for PIN entry 
    compile project(':pinentry') 
     //Menu Drawer 
    compile project(':materialTabs') 
     //Credit Card Payment Libraries 
    compile project(':creditcarddesign') 
     //Audio waves 
    compile project(':audiowaves') 

    compile project(':signalr-client-sdk') 
    compile project(':signalr-client-sdk-android') 

    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
    compile 'com.facebook.android:facebook-android-sdk:[4,5)' 
    compile 'com.google.firebase:firebase-core:9.2.0' 
    compile 'com.roger.gifloadinglibrary:gifloadinglibrary:1.0.0' 
    compile 'com.wdullaer:materialdatetimepicker:2.5.0' 
    compile 'com.synnapps:carouselview:0.0.9' 
    compile 'com.ragnarok.rxcamera:lib:0.0.4' 
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.17' 
    compile 'com.stripe:stripe-android:2.0.2' 
    compile 'com.android.support:appcompat-v7:25.1.0' 
    compile 'com.android.support:design:25.1.0' 
    compile 'com.android.support:support-v4:25.1.0' 
    compile 'com.squareup.okhttp3:okhttp:3.4.1' 
    compile 'com.github.2359media:EasyAndroidAnimations:0.8' 
    compile 'com.mikepenz:crossfader:[email protected]' 
    compile 'com.mikepenz:crossfadedrawerlayout:[email protected]' 
    compile 'com.mikepenz:itemanimators:[email protected]' 
    compile 'com.mikepenz:google-material-typeface:[email protected]' 
    compile 'com.mikepenz:fontawesome-typeface:[email protected]' 
    compile 'com.mikepenz:octicons-typeface:[email protected]' 
    compile 'com.github.amlcurran.showcaseview:library:5.4.3' 
    compile 'com.jzxiang.pickerview:TimePickerDialog:1.0.1' 
    compile 'com.google.code.gson:gson:2.8.0' 

} 

signalr - client - sdk - android: gradle 

apply plugin: 'com.android.library' 

repositories { 
    maven { 
     url 'https://clojars.org/repo' 
    } 
} 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    compileOptions {} 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile project(':signalr-client-sdk') 
} 

signalr - client - sdk: gradle 

apply plugin: 'java' 

repositories { 
    maven { 
     url 'https://clojars.org/repo' 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.google.code.gson:gson:2.3' 
    compile 'org.java-websocket:java-websocket:1.3.1' 
} 
+0

すべてのアプリでjava 1.7を使用するのはオプションですか? – firegloves

+0

私はそれを試して、私はOSXのためにそれを見つけることができません。すべてのリンク? – AndroidKrayze

+0

このような? http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html – firegloves

答えて

0

あなたはJava8を使用することができます。 javacを実行するときには、引数 '-target 1.7 -source 1.7'を指定して、Java7と互換性のあるコードを生成する必要があります。これはgraleビルドスクリプトを正しく設定することで、間接的に自分のソースコードに対して実行します。

しかし、私はあなたの問題だとは思わない。アンドロイドのgradleツールは自動的にjavacをソースコード上で正しく実行します。私はあなたのプロジェクトに含まれているサードパーティのライブラリに問題があると思います。

使用するすべてのライブラリがJava7用にコンパイルされていることを確認する必要があります。あなたのクラスパスのどこかに '-target 1.8'でコンパイルされた.classファイルがあります。

+0

私はtargetCompability = '1.7'&sourceCompability = '1.7'をグラデーションファイルに追加しましたが、エラー。あなたはその場所のより具体的なことができますか? – AndroidKrayze

+0

私はあなたのプロジェクト全体を持っていないので、Java8用にコンパイルされたクラスファイル(およびどのjarファイル)があるのか​​わかりません。クラスファイルを見つけるには、すべてのクラスファイルを調べる必要があります。この回答はあなたに役立ちます:http://stackoverflow.com/a/1096159/1172714 – dsh

関連する問題