Je développe la bibliothèque Android. Lorsque Mon client (développeur d'applications) a appliqué mon fichier Jar, il est affiché message d'erreur. Build est un fonctionnement normal, mais quand je cours (PlayButton) App dans Android Studio, il est arrivé.
Le message d'erreur affiché comme ci-dessous:
L'exécution a échoué pour la tâche ': app: transformClassesWithMultidexlistForDebug'.Multidex transformClassesWithMultidexlistForDebug Échec
java.io.IOException: Impossible de lire [/ Utilisateurs/VSSCP_KYOSEON/Documents/Travail/Android/A/B/app/build/intermédiaires/transforme/jarMerging/debug/bocaux/1/1f/combined.jar] (ne peut pas classe processus [com/a/b/VSFunctionActivity.class] (type de vérification inconnue [88] dans le cadre de la carte de la pile))
Ceci est mon application Gradle code:
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')
Mon fichier Jar est vs_sat_sdk.jar. Il est appliqué à proguard.
J'ai déjà appliqué le guide Android Multidex. https://developer.android.com/tools/building/multidex.html Mais j'ai échoué à exécuter.
J'ai une situation de fonctionnement normale.
1. J'applique proguard dans le fichier My jar. et Quand minSdkVersion a plus de 21, c'est une opération normale. Mais lorsque minSdkVersion est inférieur à 21, il est affiché comme ayant échoué.
2. Si mon fichier jar n'applique pas proguard, indépendamment de minSdkVersion, l'opération est normale.
s'il vous plaît laissez-moi savoir votre solution.
Cordialement.
Merci. J'ai déjà défini -dontpreverify. Mais le même problème se produit. J'ai corrigé ce problème. Après avoir défini -dontoptimize, le fonctionnement est correct. –