Я в шаге от создания описанного здесь метода:
Ориентация на Android с помощью сборок магистрали Scala 2.8
работа с одним проектом (против одного проекта для Scala и одного для Android).
Я столкнулся с проблемой. Используя этот входной файл (аргументы) 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 успешно собирает scandroid.jar, однако, похоже, он включает сгенерированные R-классы, которые конструктор ресурсов Android генерирует и компилирует. В этом случае они находятся в bin / org / jeb / R * .class. Это не то, что я хочу. Конвертер Android Dalvik не может создать, потому что он думает, что есть дубликат класса R (это в Scandroid, а также файлы R * .class). Как я могу изменить приведенные выше аргументы proguard, чтобы исключить файлы R * .class из scandroid.jar, чтобы преобразователь dalvik был доволен?
Изменить: я должен отметить, что я попытался добавить; bin / org / jeb / R.class; и т. Д. ... к аргументу -libraryjars, и это, казалось, только заставило его жаловаться на дублирующиеся классы, и в дополнение proguard решил исключить мои файлы классов scala тоже.