so have reached last phases of development of our android game, , it's time include obfuscation proguard.
our game using greystripe ads, , works fine when compiling debug version, targeting api 7.
but when compiling release version (with proguard added in process), there's ton of warnings:
warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.deviceinfo: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.gsfullscreenactivity: can't find referenced class android.hardware.camera$camerainfo warning: com.greystripe.sdk.gsfullscreenactivity: can't find referenced class android.hardware.camera$camerainfo warning: com.greystripe.sdk.gsfullscreenactivity: can't find referenced method 'void getcamerainfo(int,android.hardware.camera$camerainfo)' in class android.hardware.camera warning: com.greystripe.sdk.gsfullscreenactivity: can't find referenced method 'int getnumberofcameras()' in class android.hardware.camera warning: com.greystripe.sdk.gsfullscreenactivity: can't find referenced method 'android.hardware.camera open(int)' in class android.hardware.camera warning: com.greystripe.sdk.gsfullscreenactivity: can't find referenced method 'void setdisplayorientation(int)' in class android.hardware.camera warning: com.greystripe.sdk.gsfullscreenactivity: can't find referenced class android.hardware.camera$camerainfo warning: com.greystripe.sdk.gsfullscreenactivity: can't find referenced method 'void setlayertype(int,android.graphics.paint)' in class com.greystripe.sdk.aa warning: com.greystripe.sdk.a: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.a: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.ah: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.aj: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.aj: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.aj: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.as: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.as: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.as: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.as: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.as: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.at: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.at: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.bd: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.be: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.be: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.be: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.be: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.be: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.be: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.bh: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.bh: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.bl: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.bl: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.bl: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.bl: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.bl: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.m: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.s: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.s: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: com.greystripe.sdk.w: can't find referenced class android.webkit.javascriptinterface warning: there 64 unresolved references classes or interfaces. may need specify additional library jars (using '-libraryjars'). warning: there 5 unresolved references program class members. input classes appear inconsistent. may need recompile them , try again. alternatively, may have specify option '-dontskipnonpubliclibraryclassmembers'. so began trying lot of different variations of -keep class , -keep public class etc, without effect. began googling lot, , found ton of forum posts people had same issue, , tried suggestions people replied. still no change.
then took in android.jar , found out android.webkit.javascriptinterface wasn't introduced before api 17, , makes sense of course. because i'm targeting api 7, naturally there's no android.webkit.javascriptinterface available.
but don't want target api 17 because of ads, , i'm pretty sure shouldn't have either.
logically think should able -dontwarn, doing results in app crashes on load.
i make sure of course put -libraryjars /path/to/libs/greystripe-android-sdk-2.3.0.jar , /path/to/android.jar
does have clue this? how obfuscate app, while leaving greystripe-sdk jar alone?
proguard prints these warnings right after having read input, -keep options won't help. should build against api 17, proguard can find classes needs analyze , process application. can still specify different targets in androidmanifest.xml.
if using standard ant/eclipse/gradle builds, should not specify -libraryjars, since builds you.
Comments
Post a Comment