Proguard가 Test APK에서 사용되는 경우에도 Proguard가 내 디버그 APK (메소드 dex 파일 제한의 디버그 동작에 대해 proguard를 실행해야 함) 메서드를 제거하는 문제가 있습니다. 예 : 나는 단위 테스트에서 GSON addProeprty 메서드를 사용하지만 App apk에서는 사용하지 않습니다. 이 메소드는 제거되어 테스트가 실패하게됩니다. 하지만 degu 파일 제한 때문에 모든 GSOn을 유지하도록 proguard를 구성하고 싶지는 않지만 모든 메소드를 별도로 나열하고 싶지는 않습니다. rpguard에게 단위 테스트를 소스 코드 진입 점으로 간주하도록하는 방법이 있습니까?proguard를 사용하는 Android 장치 테스트
답변
나는 빌드에서이 문제를 proguard를 활성화하는 추가 "dev"buildType
을 가지고 있지만 모든 코드를 내 패키지에 보관하도록 구성했으며 사용 된 몇 가지 특정 라이브러리 클래스 검사 만. 또한 IDE에서 디버깅 할 수 있도록 dev에서 난독 화를 비활성화합니다.
디버그 및 릴리스 빌드의 경우 난 난독 화 및 최적화를 포함하여 "실제"프로 가드 설정을 사용합니다.
계측 테스트 (및 기타?)는 디버그/릴리스 apk와 동일한 프로 가져 파일을 사용하지 않습니다. 디버그 및 릴리스 블록 내에 testProguardFile
옵션을 설정해보십시오. 이 테스트 관련 프로 가드 파일은 디버그/릴리스 apk에 사용되지 않기 때문에 매우 관대 할 수 있습니다.
이것은 내가 한 일입니다.
사용자 정의 프로 가드 규칙 파일을 추가하십시오. /project/app/proguard-test-rules.pro
# Proguard rules that are applied to your test apk/code.
-ignorewarnings
-keepattributes *Annotation*
-dontnote junit.framework.**
-dontnote junit.runner.**
-dontwarn android.test.**
-dontwarn android.support.test.**
-dontwarn org.junit.**
-dontwarn org.hamcrest.**
-dontwarn com.squareup.javawriter.JavaWriter
# Uncomment this if you use Mockito
#-dontwarn org.mockito.**
는 앱 당신의 build.gradle에 다음을 추가합니다. 테스트 할 때 프로 가드 파일을 사용합니다. 위의 답변
/project/app/build.gradle
android {
debug {
minifyEnabled true
testProguardFile 'proguard-test-rules.pro'
}
}
아무도 나를 위해 트릭을하지 않았다. 두 가지 문제가있었습니다. 테스트를 위해 기본 프로 가드 파일을 사용해야하고, 기본 프로 가드 파일이 잘못되었습니다.
- 은 자신뿐만 아니라, 기본 난독 파일을 사용하려면 :
android { debug { minifyEnabled true testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project-test.pro' } }
기본 난독 파일 (과
tools/proguard
폴더의 모든는) 분명히 not replaced by default 당신이를 통해 SDK 도구를 업데이트 할 때 Android 스튜디오. 내 컴퓨터가 기발한 설정 파일을 사용하고 있었는데, 이는 귀찮은 proguard 문제를 일으켰습니다. proguard의 기본 설정을 업데이트하려면 ~/Library/Android/Sdk/tools/proguard/proguard-android.txt를 this으로 바꿉니다.
두 번째 문제를 해결하기 만하면됩니다. 난 그게 gradle에 대한 안드로이드 플러그인의 버전 2.2.0에서 언급 가치가 있다고 생각,'proguard - 안드로이드.txt'는 더 이상 사용되지 않으며 기본 규칙은 빌드시 생성됩니다. 출처 : [Android Plugin for Gradle, 버전 2.2.0] (https://developer.android.com/studio/releases/gradle-plugin.html) – aProperFox
- 1. Proguard를 Android 특수 효과와 함께 사용하는 방법?
- 2. Android - AVD로 회전 장치 테스트
- 3. Proguard를 사용하는 앱이 손상됨
- 4. ProGuard를 android api 4 (android 1.6)와 함께 사용하는 방법?
- 5. ProGuard를 사용하면 테스트 전략에 어떤 영향이 있습니까?
- 6. 안드로이드 개미 문제 (ProGuard를 사용하는 경우)
- 7. 이것은 안드로이드 앱에서 ProGuard를 사용하는 올바른 방법입니까?
- 8. proguard를 디버깅하는 방법
- 9. proguard를 사용하는 PDFTRON lib 오류
- 10. Android 장치 테스트 기본 단계 및 도구
- 11. AppCompat 프로젝트 라이브러리가있는 Android 장치 테스트
- 12. proguard를 사용하는 Android 난독 화 앱은 jar 라이브러리를 유지합니다
- 13. 로컬 장치 테스트 안드로이드
- 14. ProGuard를 사용해야합니까?
- 15. 기계 장치 테스트 빌드
- 16. NoClassDefFoundError (Proguard를 사용하는 자바 코어 클래스 용)
- 17. adb를 사용하는 Android 제거 장치 관리자
- 18. Scala에서 작성된 libs가있는 Android 앱에서 Proguard를 실행합니다.
- 19. 수동으로 proguard를 android studio에서 실행하는 방법은 무엇입니까?
- 20. Android Studio에서 Proguard를 구성하는 방법은 무엇입니까?
- 21. 프로토콜 버퍼가있는 프로젝트에서 Proguard를 사용하는 기능은 무엇입니까?
- 22. NetBeans 6.7/6.8에서 ProGuard를 사용하는 방법은 무엇입니까?
- 23. dwr과 함께 proguard를 사용하는 가장 좋은 방법
- 24. 모바일 장치 테스트
- 25. 장치 이름 DNS 테스트
- 26. Python 용 테스트 장치
- 27. Android 가상 장치 구성
- 28. Android 장치 테스트 및 .so 파일 [링커 오류]
- 29. Adwhirl 용 테스트 장치 추가
- 30. 빈 테스트 장치 고장 메시지
비슷한 프로 가져 파일을 공유 할 수 있습니까? –
고맙습니다. 그게 효과가 있습니다. 그러나, 우리는 여러 가지 맛과 모듈을 가지고 있고 그들 모두를위한 또 다른 빌드 타입을 갖는 것이 엉망입니다. 다른 답변의 맞춤 프로 가드 규칙이 도움이되었습니다. – Gaket