2012-07-22 2 views
0

나는 항상 안드로이드 LVL + proguard를 문제없이 사용했다. 내 앱을 Android 4 이상 (V13)으로 업그레이드 한 후 LVL 답변에 문제가 발생했습니다.안드로이드 LVL - proguard 이후, Not_Market_Managed

테스트 서명을 사용하여 Eclipse에서 직접 앱을 테스트하면 모든 것이 정상적으로 작동합니다. 다른면에서 proguard를 사용하여 컴파일 한 후 Google Play는 "시장이 관리되지 않음"(코드 3)으로 응답합니다. 나는 com.android.vending.licensing.LicenseValidator.verify()에 응답을 로깅했는지 확인했다.

내 config.txt를 proguard로 변경하지 않았으며, proguard가 올바른 구성을 가리키고 있는지 이중으로 확인했다. txt 그리고 또한 수동으로 내 안드로이드 목표를 project.properties에 업데이트했습니다 (이것은 문서에서 찾지 못했지만 필요합니다).

이 문제의 원인에 대한 아이디어가 있으십니까? 내 config.txt는 ADP에서 표준으로 작성한 Google과 거의 동일합니다. 또한 테스트중인 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 *; 
} 

감사합니다,

가브리엘 SIMOES

답변

0

그것이 정말 LVL에 필요한 모든 요소를 ​​읽을 수있게 일할 수 잎 있는지 ProGuard에서의 mapping.txt 파일을 확인하는 시도 ?

+0

LVL의 패키지 이름을 변경하고 방법과 클래스를 난독 화하는 것으로 생각됩니다. 문제는 Google Play에서 반환되는 것이 무엇을 의미합니까? 왜 내 패키지가 프로 가드 후에 인식되지 않는거야? –

+0

당신의 프로 감시는 내 것과 거의 같습니다. 차이점은 다음과 같습니다 : –

+0

문제는 버전 번호에만 관련이있는 것으로 보입니다. Eclipse + adp +를 사용하여 컴파일했을 때 테스트 용으로 만 서명하면 라이센스 검사가 매력처럼 작동했습니다. Proguard로 컴파일하면 Google Play에 이미 업로드 된 최신 버전을 사용해야했습니다. 도와 줘서 고마워! –