0

I´ve always used Android LVL + proguard without issues. After upgrading my apps to android 4 and above (V13), I´ve started having issues with LVL answers.

If I test my app straight from Eclipse, using a test signature, everything works as expected. On the other side, after compiling using proguard Google Play answers "Market Not Managed" (code 3). I´ve verified it logging answers on com.android.vending.licensing.LicenseValidator.verify()

I haven´t changed my config.txt on proguard, I have double checked that proguard is pointing to the correct config.txt and also I´ve manually updated my android target on project.properties (this is something I haven´t found on documents but is necessary).

Any ideas on what could be causing this issue? Just to let you know, my config.txt is almost the same google creates as standard on ADP. Also, the apk being tested has not been uploaded to market yet, but I have always been able to test without publishing it (and it works without proguard).

My Proguard's config.txt

-target 1.6 
-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-dump class_files.txt 
-printseeds seeds.txt 
-printusage unused.txt 
-printmapping mapping.txt 
-libraryjars ..\libs

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-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

-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 *;
}

Thanks, Gabriel Simões

rene
  • 41,474
  • 78
  • 114
  • 152

1 Answers1

0

Tried checking ProGuard's mapping.txt file to see if it really leaves all elements needed for LVL to work unobfuscated?

Marcin Orlowski
  • 72,056
  • 11
  • 123
  • 141
  • It is changing LVL's package name and obfuscating methods and classes as I think it should do. The thing is: what does this return from Google Play mean? why my package is not being recognized after proguard? – Gabriel Simões Jul 23 '12 at 01:56
  • Well, your proguard is almost same as mine. The diff is as follow: – Marcin Orlowski Jul 26 '12 at 12:32
  • It seems the problem was related only to the version number.When compiled using Eclipse + adp + signed for test only, license check worked like a charm. Compiling with proguard required me to use the latest version already uploaded to Google Play. Thank you for your help! – Gabriel Simões Jul 27 '12 at 17:25