我一直使用 Android LVL + proguard 没有问题。将我的应用程序升级到 android 4 及更高版本 (V13) 后,我开始遇到 LVL 答案问题。
如果我直接从 Eclipse 测试我的应用程序,使用测试签名,一切都按预期工作。另一方面,在使用 proguard Google Play 编译后回答“Market Not Managed”(代码 3)。我已经验证了它在 com.android.vending.licensing.LicenseValidator.verify() 上记录的答案
我没有在 proguard 上更改我的 config.txt,我已经仔细检查过 proguard 是否指向正确的 config.txt,并且我已经在 project.properties 上手动更新了我的 android 目标(这是我没有找到的东西文件,但这是必要的)。
关于可能导致此问题的任何想法?只是让你知道,我的 config.txt 几乎与谷歌在 ADP 上创建的标准相同。此外,正在测试的 apk 尚未上传到市场,但我一直能够在不发布它的情况下进行测试(并且它可以在没有 proguard 的情况下工作)。
我的 Proguard 的 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 *;
}
谢谢,加布里埃尔西蒙斯