2010-05-21 7 views
7

Je suis une étape de faire la méthode décrite ici: Targeting Android with Scala 2.8 Trunk buildsComment exclure les fichiers de R * à partir d'une construction PROGUARD

travail avec un seul projet (vs un projet pour scala et un pour Android).

J'ai rencontré un problème. L'utilisation de ce fichier d'entrée (arguments à) PROGUARD:

-injars bin;lib/scala-library.jar(!META-INF/MANIFEST.MF,!library.properties) 

-outjar lib/scandroid.jar 

-libraryjars lib/android.jar 

-dontwarn 
-dontoptimize 
-dontobfuscate 
-dontskipnonpubliclibraryclasses 
-dontskipnonpubliclibraryclassmembers 

-keepattributes Exceptions,InnerClasses,Signature,Deprecated, 
       SourceFile,LineNumberTable,*Annotation*,EnclosingMethod 
-keep public class org.scala.jeb.** { public protected *; } 
-keep public class org.xml.sax.EntityResolver { public protected *; } 

Proguard construit avec succès scandroid.jar, mais il semble avoir inclus les classes R générés que le constructeur de ressources Android génère et compile. Dans ce cas, ils se trouvent dans bin/org/jeb/R * .class. Ce n'est pas ce que je veux. Le convertisseur android dalvik ne peut pas construire car il pense qu'il y a un doublon de la classe R (c'est dans scandroid et aussi les fichiers R * .class). Comment puis-je modifier les arguments proguard ci-dessus pour exclure les fichiers R * .class du fichier scandroid.jar afin que le convertisseur dalvik soit satisfait? Edit: Je dois noter que j'ai essayé d'ajouter: bin/org/jeb/R.class, etc ... à l'argument -libraryjars, et cela ne semblait que provoquer des plaintes sur les classes en double, et en plus proguard a décidé de exclure mes fichiers de classe scala aussi.

+1

Je ne sais pas du haut de ma tête pour proguard - vous pourriez essayer de demander sur les forums ProGuard à http://sourceforge.net/projects/proguard/forums/forum/182456. Vous pourriez être en mesure de résoudre ce problème d'une autre manière. Existe-t-il un moyen pour qu'Eclipse mette les fichiers * .class générés par la substance R dans un répertoire différent (autre chose que bin)? –

+0

J'ai eu une question simiar, a obtenu une réponse [ici] (http://stackoverflow.com/questions/11325087/what-are-the-semantics-of-proguardinjars-in-sbt-android-plugin). – Lopina

Répondre

4
filtre fichier

! **/* R.java-à-dire les forces de ce privilège Proguard de garder tous les fichiers java, sauf les fichiers R.java dans le faux-fuyants