最新の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を追加するだけで解決できると思うが、これはできない。
あなたのプロジェクトでは、PayUMoneyは必要ですか?私もこの問題に直面し、Paytmまたは他の支払いゲートウェイを使用しようとします。実際には、このライブラリは遠く離れていて、互換性は低くなっています。 – MaAc
はい、私の場合は必要です。 iOSアプリとの一貫性が必要で、PayUの支払いウィジェットを使用します。 – marcinm