Pregunta

Soy un paso de hacer el método descrito aquí: Orientación de Android con Scala 2,8 Troncal construye

trabajo con un solo proyecto (vs un proyecto para Scala y uno para androide).

Me he encontrado con un problema. El uso de este archivo de entrada (argumentos a) 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 se genera correctamente scandroid.jar, sin embargo, parece haber incluido las clases R generados que el constructor de recursos androide genera y compila. En este caso, se encuentran en bin / org / jeb / R * .class. Esto no es lo que quiero. El convertidor de Dalvik de Android no se puede construir, ya que piensa que está duplicado de la clase I (está en scandroid y también los archivos de la R * .class). ¿Cómo puedo modificar los argumentos anteriores Proguard para excluir archivos del R * .class del scandroid.jar por lo que el convertidor de Dalvik es feliz? Edit: Debo señalar que he intentado añadir; bin / org / Jeb / R.class; etc ... para el argumento -libraryjars, y que al parecer sólo para hacer que se quejan de las clases duplicadas, y, además, Proguard decidió excluir mis archivos de clase Scala también.

¿Fue útil?

Solución

filtro de archivos ** / * R.java en otras palabras, este gravamen fuerzas Proguard para mantener todos los archivos excepto los archivos java R.java en la ofuscación

Otros consejos

Yo uso esta opción. Puede encontrar referencia desde el enlace de abajo y encuentre "Una completa aplicación para Android". http://proguard.sourceforge.net/index.html#/manual/examples.html

-keepclassmembers class **.R$* {
    public static <fields>;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top