나는 안드로이드 라이브러리를 개발 중이다. 내 클라이언트 (응용 프로그램 개발자)가 Jar 파일을 적용하면 오류 메시지가 표시됩니다. 빌드가 정상적으로 작동하지만 Android Studio에서 (playButton) 앱을 실행하면 문제가 발생합니다.
아래와 같은 오류 메시지가 표시됩니다.
': app : transformClassesWithMultidexlistForDebug'작업을 실행하지 못했습니다.Multidex transformClassesWithMultidexlistForDebug 실패
때 java.io.IOException : 읽을 수 없습니다 [/ 사용자/VSSCP_KYOSEON/문서/작업/안드로이드/A/B/응용 프로그램/빌드/중간/변환/jarMerging/디버그/항아리/1/1 층/combined.jar] (스택 프레임지도에서 처리 할 수 없습니다 클래스 [COM/A/B/VSFunctionActivity.class] (알 수없는 확인 유형 [88]))
이 내 응용 프로그램 Gradle을 코드입니다 :
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '24.0.1'
defaultConfig {
applicationId "com.a.b"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
dexOptions {
javaMaxHeapSize "4g" //specify the heap size for the dex process
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
compile project(':ChartLib')
compile 'com.google.android.gms:play-services-fitness:8.4.0'
compile 'com.android.support:multidex:1.0.1'
compile files('libs/vs_sat_sdk.jar')
}
My Jar 파일은 vs_sat_sdk.jar입니다. 그것은 proguard에 적용됩니다.
Android Multidex 가이드를 이미 적용했습니다. https://developer.android.com/tools/building/multidex.html하지만 실행에 실패했습니다.
정상적인 작동 상황입니다.
1. My jar 파일에 proguard를 적용합니다. minSdkVersion이 21 이상이면 정상 동작입니다. 그러나 minSdkVersion이 21 미만이면 실패로 표시됩니다.
2. 내 jar 파일이 proguard에 적용되지 않으면 minSdkVersion에 관계없이 정상적인 작동입니다.
귀하의 솔루션에 대해 알려주십시오.
감사합니다.
감사합니다. 나는 이미 -dontpreverify를 설정했다. 하지만 같은 문제가 발생합니다. 이 문제가 해결되었습니다. -dontptimize를 설정하면 작업이 정상입니다. –