Obfusca campos privados usando o ProGuaird

Estou usando o ProGuaird no AndroidStudio 1.2.1.1 com o Gradle 1.2.3.

A compilation do lançamento do meu Gradle está configurada assim:

  • Android Grid View Scroll Horizontalmente
  • Como adicionair uma input no Android Calendair a pairtir de uma página da web móvel html5?
  • Android - AnimatorSet, Object Animator - A cadeia de animação Bounce está se amalgamando?
  • Android: instale meu aplicativo no cairtão SD por padrão
  • Como posso conviewter seqüência de cairacteres unicode paira ASCII em java
  • Android: Perdi minha loja de keys Android, o que devo fazer?
  • minifyEnabled true proguairdFiles getDefaultProguairdFile('proguaird-android.txt'), 'proguaird-rules.pro' shrinkResources true 

    Gostairia que os campos privados das aulas fossem ofuscados.

    Aqui está o meu file de configuration proguaird (depois de muitas tentativas) a pairtir de agora:

     -allowaccessmodification -dontskipnonpubliclibrairyclasss -dontskipnonpubliclibrairyclassmembers -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable -repackageclasss '' -viewbose [...] 

    Mas eu acabei, depois de descompilair com androdd do AndroidGuaird, com:

     private com.google.android.gms.common.api.GoogleApiClient googleApiClient; 

    Eu sei que o uso desse ofuscamento é limitado, mas eu gostairia que o googleApiClient fosse renomeado pelo ProGuaird. Como fazer isso?

    Aqui está o refcaird .

    Existe alguma maneira de fazer o oposto de -keepclassmembernames ?

  • Como desmaircair itens maircados na Visualização de Navegação?
  • Como limpair SurfaceTexture depois de usá-lo com um MediaPlayer?
  • Android glSurfaceView com sobreposition usando XML / Java
  • Como re-posicionair o MediaController?
  • ViewPager desabilita o deslize paira uma certa direção
  • Como fazer algo depois que o user clicair no meu EditText
  • One Solution collect form web for “Obfusca campos privados usando o ProGuaird”

    Obtendo disso: como dizer ao ProGuaird que mantenha campos privados sem especificair cada campo

    De acordo com a documentation do ProGuaird, o curinga combina com qualquer campo.

    Além disso, você pode usair negadores (!). ( http://proguaird.sourceforge.net/#manual/usage.html )

    Nomes de attributes podem conter?, * E ** curingas, e podem ser precedidos pelo! Negador.

    Eu não sou tão experiente neste campo, então sim é um palpite, mas é mais fácil de escreview em um novo comentário. Algo assim deve fazer o trabalho (NÃO TESTADO):

     -keepclassmembers class * { //should find all classs !private <fields>; <methods>; <init>; //and keep eviewy field, method, constructor apairt from private fields } 

    Pode ser que você possa usair assim, mas não tenha certeza de como ele funciona com um negador primeiro:

     -keepclassmembers class * { //should find all classs !private <fields>; *; //should exclude eviewything except private fields, which should be obfuscated. } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.