2012-07-22 36 views
0

我總是使用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 *; 
} 

感謝, 加布裏埃爾·西蒙斯

回答

0

試圖檢查的ProGuard的文件的mapping.txt,看它是否真的離開工作是非模糊的需要LVL所有元素?

+0

它正在改變LVL的包名和模糊方法和類,我認爲它應該這樣做。問題是:Google Play返回的內容是什麼意思?爲什麼我的軟件包在proguard之後沒有被識別? – 2012-07-23 01:56:19

+0

那麼,你的proguard和我的幾乎一樣。差異如下: – 2012-07-26 12:32:10

+0

看來問題只與版本號有關。當使用Eclipse + adp +編譯進行編譯僅用於測試時,許可證檢查就像一個魅力。使用proguard進行編譯需要我使用已上傳到Google Play的最新版本。感謝您的幫助! – 2012-07-27 17:25:45