私はいつも 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 は、Google が ADP で標準として作成するものとほとんど同じです。また、テスト対象の apk はまだ市場にアップロードされていませんが、公開せずに常にテストできました (また、プロガードなしで動作します)。
私の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 *;
}
ありがとう、ガブリエル・シモンイス