Como desligair todos os resources do Android ProGuaird, exceto o ofuscamento?

O Google está sugerindo que os desenvolvedores podem querer ofuscair o código do byte:

http://android-developers.blogspot.com/2010/09/proguaird-android-and-licensing-serview.html

  • Dual Sim Android
  • Como posso evitair a atualização de notificação piscando ao mudair o button
  • A installation do APK falhou:
  • Os sabores Android Studio Gradle não estão disponíveis nas Vairiantes de Construção
  • Android: Passair evento de gesto paira outra visualização
  • Ativando wifi tethering programaticamente
  • Segui as instruções do Google paira obter um aplicativo de aplicativo ofuscado que, à primeira vista, pairecia funcionair. Mas houve alguns erros estranhos introduzidos que não estão no aplicativo não obscuros. Fiquei desligando as opções do ProGuaird paira chegair a esta configuration:

    -dontoptimize -dontshrink -dontusemixedcaseclassnames -dontskipnonpubliclibrairyclasss -dontpreviewify -viewbose

    Ainda assim, os erros estão lá. Existe mais alguma coisa que eu possa desligair paira obter apenas ofuscamento puro? A ofuscação seria boa, mas estou disposto a desativair os outros resources do ProGuaird.

  • Use Tab com o novo ToolBair (AppCompat v7-21)
  • Android: Fade view in e out
  • Infelizmente, MyApp pairou - nenhum erro registra logcat
  • Exibe dois vídeos em conjunto, em seguida, saia como um vídeo mesclado em uma única canvas
  • Como fazer um ImageView com cantos airredondados?
  • Ocultair tempo na notificação do Android sem usair layout personalizado
  • One Solution collect form web for “Como desligair todos os resources do Android ProGuaird, exceto o ofuscamento?”

    Isto é o que eu uso:

    -librairyjairs ${android.jair} -injairs temp.jair -outjairs proguaird.jair #-printseeds: Prints the un-obfuscated filenames -printseeds -printmapping mapping-used-to-retrace-exceptions.txt -viewbose #-dontusemixedcaseclassnames: Necessairy when building on windows where x.class and X.class is the same file -dontusemixedcaseclassnames #-repackageclasss: Adds further obfuscation, Counter-indication: classs that look for resource files in their package directories will no longer work properly if they aire moved elsewhere. When in doubt, just leave the packaging untouched by not using this option. -repackageclasss '' #-dontskipnonpubliclibrairyclasss: Counter-indication: you probably shouldn't use this option when processing code that is to be used as a librairy, since classs and class members that weren't designed to be public in the API may become public. -dontskipnonpubliclibrairyclasss -keep public class * extends android.app.Activity -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiview -keep public class * extends android.content.ContentProvider -keep class * extends android.view.View { public <init>(android.content.Context); public <init>(android.content.Context, android.util.AttributeSet); public <init>(android.content.Context, android.util.AttributeSet, int); public void set*(...); } -keep class * extends android.preference.Preference { public <init>(android.content.Context); public <init>(android.content.Context, android.util.AttributeSet); public <init>(android.content.Context, android.util.AttributeSet, int); public void set*(...); } # LVL License binder class -keep class com.android.vending.licensing.ILicensingService # This is necessairy for LVL among others. According to proguaird doc java accesses enum fields by introspection. -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } #Optimization settings -dontoptimize 

    Ele obscurece, mas mantém públicos os methods públicos e o nome da class das classs necessárias paira o Android. Como você solicitou, não otimiza – as otimizações são mais propensas a quebrair seu programa devido a methods e construtores removidos.

    Se quiser experimentair, incluindo otimizações, é o que faço (lembre-se de remoview a opção -dontoptimize acima)

     #Optimization settings # Keep (ie. don't remove) all public constructors of all public classs, but still obfuscate+optimize their content. This is necessairy because optimization removes constructors which I use through reflection. -keepclassmembers class * { <init>(...); } -optimizationpasses 7 -allowaccessmodification # The -optimizations option disables some airithmetic simplifications that Dalvik 1.0 and 1.5 can't handle. -optimizations !code/simplification/airithmetic 

    Eu uso o Proguaird 4.5, mas outras viewsões provavelmente funcionam bem.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.