android - S Pen and ProGuard issue when creating canvas -
i running issue w/ s pen sdk v2.3 , proguard v4.9 non-signed apk enables me use entire canvas/note whereas signed apk, gives me access partial note - 1 half of note, while visible, doesn't allow me write.
i mucked around lot w/ proguard config , yet have no luck. tried creating signed apk simple s pen project , can work expected. however, there must in package preventing me accessing note.
here proguard.cfg:
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers -dontpreverify -verbose -dontwarn com.google.common.** -dontwarn org.apache.commons.* -dontwarn org.scribe.services.* -dontwarn com.fasterxml.jackson.databind.** #after updating android support library rev.18 -dontwarn android.support.v4.** # activities, services , broadcast receivers specified in manifest file won't automatically included -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 public class com.crittercism.** # hold onto mapping.text file, can used unobfuscate stack traces in developer console using retrace tool -printmapping mapping.txt -keep public class * extends android.support.v4.app.fragment { *; } -keep public class * extends android.widget.framelayout { *; } -keep public class * extends android.view.view { *; } -keep public class com.mypackage.fragments.videonotefragment { public protected *; } -keep public class com.mypackage.ui.notesview { public protected *; } #suggestions spen engineering team -keep public interface *$* { public *; } #for spen -keep public class com.samsung.spensdk.* { public protected *; } -keep public class com.samsung.spensdk.applistener.* { public protected *; } -keep public class com.samsung.samm.common.* { public protected *; } -keep public class com.samsung.spen.lib.image.* { public protected *; } -keep public class com.samsung.spen.lib.input.* { public protected *; } -keep public class com.samsung.spen.lib.gesture.* { public protected *; } -keep public class com.samsung.spen.settings.* { public protected *; } # keep - enumerations. keep special static methods # required in enumeration classes. -keepclassmembers enum * { public static **[] values(); public static ** valueof(java.lang.string); } # keep names - native method names. keep native class/method names. -keepclasseswithmembers,allowshrinking class * { native <methods>; } -keepclasseswithmembernames class * { native <methods>; } -keepclasseswithmembers class * { public <init>(android.content.context, android.util.attributeset); } # custom view components might accessed layout files -keepclasseswithmembers class * { public <init>(android.content.context, android.util.attributeset, int); } # event handlers can specified in layout files e.g. android:onclick="nextbutton_onclick" -keepclassmembers class * extends android.app.activity { public void *(android.view.view); } -keep class * implements android.os.parcelable { public static final android.os.parcelable$creator *; } -keepclassmembers public class com.crittercism.* { *; } -keepclassmembers public class com.fasterxml.jackson.** { *; } #pojo -keep class com.mypackage.data.** { void set*(***); void set*(int, ***); boolean is*(); boolean is*(int); *** get*(); *** get*(int); } -renamesourcefileattribute sourcefile -keepattributes exceptions,innerclasses,signature,deprecated, sourcefile,linenumbertable,*annotation*,enclosingmethod
here screenshot of canvas right-half non-writable:
thanks!
boiled down modifying proguard settings so:
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers -dontpreverify -verbose #prints out classes preserved, know sure we're getting want -printseeds -dontwarn com.google.common.** -dontwarn org.apache.commons.* -dontwarn com.samsung.** -dontwarn org.scribe.services.* -dontwarn com.fasterxml.jackson.databind.** # activities, services , broadcast receivers specified in manifest file won't automatically included -keep public class com.android.vending.licensing.ilicensingservice -keep public class com.crittercism.** # hold onto mapping.text file, can used unobfuscate stack traces in developer console using retrace tool -printmapping mapping.txt # keep - enumerations. keep special static methods # required in enumeration classes. -keepclassmembers enum * { public static **[] values(); public static ** valueof(java.lang.string); } # event handlers can specified in layout files e.g. android:onclick="nextbutton_onclick" -keepclassmembers class * extends android.app.activity { public void *(android.view.view); } -keepclassmembers public class com.crittercism.* { *; } -keepclassmembers public class com.fasterxml.jackson.** { *; } -keep class com.mypackage.data.** { void set*(***); void set*(int, ***); boolean is*(); boolean is*(int); *** get*(); *** get*(int); } -renamesourcefileattribute sourcefile -keepattributes exceptions,innerclasses,signature,deprecated, sourcefile,linenumbertable,*annotation*,enclosingmethod -keep class com.samsung.samm.** { *; } -keep class com.samsung.sdraw.** { *; } -keep class com.samsung.spen.** { *; } -keep class com.samsung.spensdk.** { *; } -libraryjars libs/libspen23.jar
Comments
Post a Comment