Cómo excluir archivos R * .class de una compilación proguard
Estoy a un paso de hacer el método descrito aquí: Orientación de Android con Scala 2.8 Trunk builds
Trabajar con un solo proyecto (vs un proyecto para scala y otro para android).
- ¿Cómo excluir dependencias transitivas de otro subproyecto en compilaciones multiproyecto?
- Problema: "Extracción" de JSON usando ascensor-json en una aplicación Android (Scala)
- Dependencia no resuelta: com.hanhuy.sbt # android-sdk-plugin; 1.3.19: no encontrado
- Desarrollo sustancial de Android en Scala
- Cómo orientar Android con Scala 2.8 Trunk builds
Me he encontrado con un problema. Usando este archivo de entrada (arguments to) 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 construye con éxito scandroid.jar, sin embargo, parece haber incluido las clases R generadas que genera y compila el generador de recursos android. En este caso, se encuentran en bin / org / jeb / R * .class. Esto no es lo que quiero. El convertidor androide dalvik no puede construir porque piensa que hay un duplicado de la clase R (está en scandroid y también los archivos R * .class). ¿Cómo puedo modificar los argumentos proguard anteriores para excluir los archivos R * .class de la scandroid.jar para que el convertidor dalvik sea feliz? Edit: Debo notar que he intentado añadir: bin / org / jeb / R.class, etc … al argumento -libraryjars, y que sólo parecía hacer que se quejara de las clases duplicadas, y además proguard decidió excluir Mis archivos de clase scala también.
- Con ProGuard, ¿cuál es el impacto en la estrategia de pruebas?
- Android (en Scala): StackOverflowError depende de cuándo iniciar un hilo?
- Aplicación Android basada en Java -> cambiar a Scala
- ¿Cómo puedo usar Android con Java y un núcleo hecho con Scala?
- Android + Scala + Intelli 13
- Android, Scala y Proguard
- Scala Inner Class - No es miembro
- No se puede encontrar el método en la actividad
Filtro de archivo! ** / * R.java en otras palabras este embargo obliga a Proguard a guardar todos los archivos java excepto los archivos R.java en la ofuscación
Yo uso esta opción. Usted puede encontrar la referencia del enlace de abajo y encontrar "Una aplicación completa de Android". http://proguard.sourceforge.net/index.html#/manual/examples.html
-keepclassmembers class **.R$* { public static <fields>; }
- ¿Typeface.createFromAsset () cache?
- ¿Cómo dar (ya comprado) la aplicación de Android al cliente como un regalo?