cómo escribir una configuración proguard para una lib de servicio remoto

yo apoyará un sdk a otros users.the el archivo del tarro de la exportación es trabajos buenos para la otra aplicación. pero de hecho, tengo que proteger este archivo sdk.i había escrito un archivo de configuración proguard.

-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -injars libs/sdk.jar -outjars libs/SDK.jar # we need line numbers in our stack traces otherwise they are pretty useless -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keep class android.support.v4.** { *; } -keep interface android.support.v4.** { *; } -keep interface org.apache.** { *; } -keepclasseswithmembernames class com.ctv.android.sdk.** {*;} -keep class **.R$* { *; } -keepclassmembers class **.R$* { public static <fields>; } -dontwarn org.apache.** -dontwarn android.support.v4.** -keepclasseswithmembernames class * { native <methods>; } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keep public class * extends android.os.IInterface -keepattributes Signature -keepattributes *Annotation* 

com.ctv.android.sdk.P2PService: es un servicio remoto com.ctv.android.sdk.IP2PService: es la interfaz de aidl

pero, si yo uso esto para otro proyecto en eclipse.it muestra Stub no se puede resolver o no es un campo .. ¿por qué? por favor ayúdenme ~ ~ CUANTO ANTES … Gracias

ok, he resuelto esto. dos cuestiones importantes:

1.

 -renamesourcefileattribute SourceFile -keepattributes Exceptions,InnerClasses,Signature,SourceFile,LineNumberTable,*Annotation* 

InnerClasses, es muy importante

2.

 -keep class com.ctv.android.sdk.IP2PService$** { public <fields>; public <methods>; } -keep class com.ctv.android.sdk.IP2PService$Stub.** { public <fields>; public <methods>; } -keep interface com.ctv.android.sdk.IP2PService$** {*;} 

eso es todo.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.