나는 항상 안드로이드 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
LVL의 패키지 이름을 변경하고 방법과 클래스를 난독 화하는 것으로 생각됩니다. 문제는 Google Play에서 반환되는 것이 무엇을 의미합니까? 왜 내 패키지가 프로 가드 후에 인식되지 않는거야? –
당신의 프로 감시는 내 것과 거의 같습니다. 차이점은 다음과 같습니다 : –
문제는 버전 번호에만 관련이있는 것으로 보입니다. Eclipse + adp +를 사용하여 컴파일했을 때 테스트 용으로 만 서명하면 라이센스 검사가 매력처럼 작동했습니다. Proguard로 컴파일하면 Google Play에 이미 업로드 된 최신 버전을 사용해야했습니다. 도와 줘서 고마워! –