私はAndroidライブラリを開発中です。 My Client(アプリケーション開発者)がJarファイルを適用すると、エラーメッセージが表示されます。 ビルドは正常ですが、Androidスタジオで(playButton)Appを実行すると発生します。
以下のようなエラーメッセージが表示されます。
':app:transformClassesWithMultidexlistForDebug'タスクの実行に失敗しました。Multidex transformClassesWithMultidexlistForDebug失敗
にjava.io.IOException:読み取ることができません[/ユーザ/ VSSCP_KYOSEON /ドキュメント/仕事/アンドロイド/ A/B /アプリ/ビルド/中間体/変換/ jarMerging /デバッグ/瓶/ 1/1F/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です。それはプロガードに適用されます。
Android Multidexガイドを既に適用しました。 https://developer.android.com/tools/building/multidex.htmlしかし、私は実行に失敗しました。
通常の操作状況です。
1. My jarファイルにproguardを適用します。 minSdkVersionが21を超えると、通常動作になります。しかし、minSdkVersionが21未満の場合、失敗したと表示されます。
2.マイ・ジャー・ファイルがproguardに適用されない場合、minSdkVersionに関係なく、通常の操作です。
あなたの解決策について教えてください。
よろしくお願いいたします。
ありがとうございます。私はすでに-dontpreverifyを設定しました。しかし、同じ問題が発生します。私はこの問題を解決しました。 -dontptimizeを設定した後、作業は正常です。 –