Placer with Proguard and Play Services 8.4.0

Posted in General by J.T. Gilkeson Thu Mar 10 2016 19:24:37 GMT+0000 (UTC)·4·Viewed 343 times

Everything builds fine without Proguard (debug build), but getting the following error when trying to use Placer with Proguard and Play Services 8.4.0 (didn't happen with older version 6.1.71 of Play Services) - any idea how to fix this?: EXCEPTION FROM SIMULATION: com.android.dx.rop.cst.CstMethodRef cannot be cast to com.android.dx.rop.cst.CstInterfaceMethodRef ...at bytecode offset 00000037 locals[0000]: Lcom/placer/client/N; stack[top0]: Lcom/google/android/gms/common/api/GoogleApiClient; ...while working on block 0037 ...while working on method a:()V ...while processing a ()V ...while processing com/placer/client/N.class 1 error; aborting Gradle: compile 'com.google.android.gms:play-services:8.4.0' compile 'com.placer:placer:2.3.4.6' Proguard: -keep class !android.support.v7.view.menu.**,!android.support.design.internal.NavigationMenu,!android.support.design.internal.NavigationMenuPresenter,!android.support.design.internal.NavigationSubMenu,** {*;} -keepattributes **
J.T. Gilkeson
Mar 10, 2016

Seem to break when going from Play Services 7.8.0 to 8.1.0 or later.

J.T. Gilkeson
Mar 10, 2016

Seem to break when going from Play Services 7.8.0 to 8.1.0 or later.

Arseny
May 18, 2016

Placer SDK version 2.4.+ resolved this issue. Simply update build.gradle to version 2.4+ and rebuild.

J.T. Gilkeson
July 9, 2016

Proguard builds (for pre-sdk21) with Placer 2.4.1.4 now seem to be broken (with any Play Services now):

Warning: com.a.a.a.a: can't find referenced field 'android.content.Context a' in program class com.a.a.a.b
Warning: com.a.a.a.a: can't find referenced field 'android.accounts.Account b' in program class com.a.a.a.b
Warning: com.a.a.a.a: can't find referenced field 'java.lang.String c' in program class com.a.a.a.b
Warning: com.a.a.a.a: can't find referenced field 'boolean d' in program class com.a.a.a.b
Warning: com.a.a.g: can't find referenced field 'java.util.concurrent.Executor a' in program class com.a.a.z
Warning: com.b.a.a.a.e: can't find referenced method 'd(com.b.a.a.a.c)' in program class com.b.a.a.a.d
Warning: com.b.a.a.b.b: can't find referenced method 'java.util.UUID a(int,int,int,int)' in program class com.a.a.a.b

(Same code as above, just changed the placer version to 2.3.4.6 and compiled for a sdk 19 device)

  
Markdown is allowed