Lorsque je lance proguard pour construire mon fichier apk, le message d'erreur suivant s'affiche:
Warning:Exception while processing task Java.io.FileNotFoundException: C:\Users\Josh\Documents\AdscendUnityPlugin2.1.3\AdscendUnityPlugin2.1.3\HelloUnity\Export\HelloUnity\build\intermediates\proguard-rules\debug\aapt_rules.txt (The system cannot find the path specified)
Mon fichier de grade:
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.3.0'
}
}
allprojects {
repositories {
jcenter()
flatDir {
dirs 'libs'
}
}
}
apply plugin: 'com.Android.application'
repositories {
maven { url "https://bitbucket.org/adscend/androidsdk/raw/master/" }
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.adscendmedia.sdk:adscendmedia:2.1.26'
}
Android {
compileSdkVersion 25
buildToolsVersion '25.0.0'
defaultConfig {
targetSdkVersion 25
}
lintOptions {
abortOnError false
}
buildTypes {
debug {
jniDebuggable true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-unity.txt'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-unity.txt'
}
}
}
Je n'arrivais pas à trouver le dossier 'proguard-rules' non plus, qu'est-ce qui pouvait causer cette erreur? Des idées?
Je suis conscient que je lance proguard sur ma version de débogage, j'essaie simplement de le faire fonctionner à ce stade.
Je vous remercie
Dans mon cas, mon proguard.pro personnalisé est vide. Le projet de reconstruction fonctionne pour moi.
Dans mon cas, le problème était le suivant:
J'ai un projet avec plusieurs modules: une application Android et une bibliothèque Android.
Lorsque je compile assembleRelease
dans Android Studio, je dois également m'assurer que tout est construit pour release (pas debug).
Dans Android Studio, définissez le Build Variant
pour libérer:
Dans le fichier build.gradle
du module de bibliothèque:
Android {
defaultPublishConfig "release"
voir également:
Je pense que votre proguard-pro.txt est peut-être vide. J'ai eu ce genre de problème plus tôt. Bu après avoir ajouté le code ci-dessous dans proguard-pro.txt, cela a fonctionné pour moi. Essayez juste une fois, cela peut fonctionner pour vous.
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in D:\Android\adt-bundle-windows-x86-20140702\adt-bundle-windows-x86-20140702\sdk/tools/proguard/proguard-Android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.Android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Required for GSON
-keep class com.ptechsolutions.Android.authenticrecipe.core.** { *; }
-keepattributes *Annotation*
-keepattributes Signature
-keep class Sun.misc.Unsafe { *; }
-keep class * extends Java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.Android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.Android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.Android.gms.common.annotation.KeepName *;
}
-keepnames class * implements Android.os.Parcelable {
public static final ** CREATOR;
}
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
-dontwarn org.Apache.commons.**
-dontwarn com.google.**
-dontwarn com.j256.ormlite**
-dontwarn org.Apache.http**
-keepattributes SourceFile,LineNumberTable
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-keepattributes Signature
# GSON Library
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class Sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.Android.model.** { *; }
-keepattributes SourceFile, LineNumberTable
# Google Map
-keep class com.google.Android.gms.maps.** { *; }
-keep interface com.google.Android.gms.maps.** { *; }
-keep class org.Apache.harmony.awt.** { *; }
-dontwarn org.Apache.harmony.awt.**
-keep class com.github.siyamed.** { *; }
-dontwarn com.github.siyamed.**
-keep class com.squareup.picasso.** { *; }
-dontwarn com.squareup.picasso.**
-keep class com.squareup.okhttp.** { *; }
-dontwarn com.squareup.okhttp.**
-keep class com.Sun.mail.** { *; }
-dontwarn com.Sun.mail.**
-keep class org.codehaus.mojo.** { *; }
-dontwarn org.codehaus.mojo.**
-keep class Java.awt.datatransfer.** { *; }
-dontwarn Java.awt.datatransfer.**
-keep class Java.nio.file.** { *; }
-dontwarn Java.nio.file.**
-keep class javax.mail.** { *; }
-dontwarn javax.mail.**
-keep class com.theartofdev.edmodo.** { *; }
-dontwarn com.theartofdev.edmodo.**
-keep class javax.activation.** { *; }
-dontwarn javax.activation.**
-dontskipnonpubliclibraryclassmembers
Supprimez le dossier build
dans Moudle et reconstruisez-le.
Dans votre projet est le dossier HelloUnity\build\