최신 payU 라이브러리를 컴파일하는 데 문제가 있습니다. 내 프로젝트 (안드로이드에 람다를 사용할 수 있도록 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 샘플 앱을 확인했으며 compileOptions 호환성 1.7을 사용하지만이 경우 모든 람다가 컴파일되지 않기 때문에 변경할 수 없습니다.
어떻게 해결할 수 있습니까? 지금은 유료 lib 디렉토리에 compileOptions 1.7을 추가하는 것만으로도 문제를 해결할 수 있다고 생각하지만이 작업을 수행 할 수는 없습니다.
프로젝트에서 PayUMoney가 필요합니까? 나는 또한이 문제에 직면하고, Paytm 또는 다른 지불 게이트웨이를 사용하려고한다. 실제로이 라이브러리는 낮은 호환성으로 멀리 떨어져 있습니다. – MaAc
예, 제 경우에는 필요합니다. iOS 앱과 일치해야하며 PayU의 결제 위젯을 사용합니다. – marcinm