2016-08-23 4 views
0

最新のpayUライブラリをコンパイルする際に問題があります。私は私のプロジェクトに(Android上でラムダを使用することができますlibに)retrolambdaを使用しているためコンパイル可能な可逆コンパイル例外、payU

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
    } 

:私は私のプロジェクトのコンパイルオプションを使用します。

Error:Error converting bytecode to dex: 
Cause: Dex cannot parse version 52 byte code. 
This is caused by library dependencies that have been compiled using Java 8 or above. 
If you are using the 'java' gradle plugin in a library submodule add 
targetCompatibility = '1.7' 
sourceCompatibility = '1.7' 
to that submodule's build.gradle file. 

が、私はこの中で、他の多くのLIBSを使用していますが、これだけを追加した後、私はこのエラーが表示されます。payUライブラリ

compile('com.payu.android.sdk:payment-library-full:1.3.7') { 
     exclude group: 'com.android.support', module: 'support-v4' 
    } 

    compile('com.payu.android.sdk:payment-library-widget:1.3.7') { 
     exclude group: 'com.android.support', module: 'support-v4' 
    } 

を追加した後、私はコンパイルエラーを受け取ります。私は互換性1.7で別のモジュールを使って追加しようとしましたが、それは役に立たなかった。おそらく、単一の依存関係のためのcompileOptionsのようなものが役に立ちますが、私はそれをgradleで見つけることはできません。

私はpayUサンプルアプリケーションもチェックしましたが、コンパイルオプションの互換性1.7を使用しましたが、この場合はすべてのラムダがコンパイルされないため、これを変更することはできません。

これがどのように解決できるかご存知ですか?今のところ私は、payURLにcompileOptions 1.7を追加するだけで解決できると思うが、これはできない。

+0

あなたのプロジェクトでは、PayUMoneyは必要ですか?私もこの問題に直面し、Paytmまたは他の支払いゲートウェイを使用しようとします。実際には、このライブラリは遠く離れていて、互換性は低くなっています。 – MaAc

+0

はい、私の場合は必要です。 iOSアプリとの一貫性が必要で、PayUの支払いウィジェットを使用します。 – marcinm

答えて

0

私はPayUの技術サポートに連絡を取りました。もう1つのグループをgradleのインポートから除外する必要があるという情報を受け取りました。

exclude group: 'org.jetbrains', module: 'annotations' 

をPayUibインポートに追加する必要があります。

関連する問題