2016-08-23 5 views
0

최신 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을 추가하는 것만으로도 문제를 해결할 수 있다고 생각하지만이 작업을 수행 할 수는 없습니다.

+0

프로젝트에서 PayUMoney가 필요합니까? 나는 또한이 문제에 직면하고, Paytm 또는 다른 지불 게이트웨이를 사용하려고한다. 실제로이 라이브러리는 낮은 호환성으로 멀리 떨어져 있습니다. – MaAc

+0

예, 제 경우에는 필요합니다. iOS 앱과 일치해야하며 PayU의 결제 위젯을 사용합니다. – marcinm

답변

0

PayU의 기술 지원팀과 연락을 취했고 하나 이상의 그룹이 gradle 가져 오기에서 제외되어야한다는 정보를 받았습니다.

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

을 모두 PayUib 가져 오기에 추가해야합니다.