我總是使用Android LVL + proguard,沒有問題。 將我的應用程序升級至Android 4及更高版本(V13)後,我開始遇到LVL答案的問題。Android LVL - 經過proguard,回答Not_Market_Managed
如果我直接從Eclipse測試我的應用程序,使用測試簽名,一切都按預期工作。 另一方面,編譯後使用proguard Google Play回答「Market Not Managed」(代碼3)。我已經驗證它在com.android.vending.licensing.LicenseValidator.verify()
上記錄答案我沒有更改我的proguard上的config.txt,我有雙重檢查,proguard指向正確的配置。 TXT,我也手動更新了我的android目標project.properties(這是我沒有找到文件,但有必要)。
關於可能導致此問題的任何想法? 爲了讓你知道,我的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 *;
}
感謝, 加布裏埃爾·西蒙斯
它正在改變LVL的包名和模糊方法和類,我認爲它應該這樣做。問題是:Google Play返回的內容是什麼意思?爲什麼我的軟件包在proguard之後沒有被識別? – 2012-07-23 01:56:19
那麼,你的proguard和我的幾乎一樣。差異如下: – 2012-07-26 12:32:10
看來問題只與版本號有關。當使用Eclipse + adp +編譯進行編譯僅用於測試時,許可證檢查就像一個魅力。使用proguard進行編譯需要我使用已上傳到Google Play的最新版本。感謝您的幫助! – 2012-07-27 17:25:45