Как исключить файлы R*.class из прозащитной сборки

Я - один шаг далеко от создания метода, описанного здесь: Предназначение для Android с Магистральными сборками Scala 2.8

работа с единственным проектом (по сравнению с одним проектом для scala и один для андроида).

Я столкнулся с проблемой. Используя этот входной файл (аргументы) прозащита:

-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 *; }

Прозащита успешно создает scandroid.jar, однако это, кажется, включало сгенерированные классы R, которые разработчик ресурса андроида генерирует и компилирует. В этом случае они расположены в bin/org/jeb/R*.class. Это не то, что я хочу. Андроид, который не может создать преобразователь Дальвика, потому что он думает, существует дубликат класса R (это находится в scandroid и также файлах R*.class). Как я могу изменить вышеупомянутые прозащитные аргументы для исключения файлов R*.class из scandroid.jar, таким образом, преобразователь Дальвика счастлив?Править: Я должен отметить, что пытался добавить; bin/org/jeb/R.class; и т.д.... к-libraryjars аргументу, и который только, казалось, заставил это жаловаться на дублирующиеся классы и кроме того проохранять решенный для исключения моих scala файлов класса также.

8
задан Community 23 May 2017 в 12:13
поделиться

1 ответ

file filter !**/*R.java другими словами, эта примочка заставляет Proguard держать все java-файлы, кроме R.java, в обфускации

4
ответ дан 5 December 2019 в 15:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: