Logic을 많이 사용하는 안드로이드 프로그램에서이 빌드를 모두 제거하고 싶습니다. 내가 무슨 짓을ProGuard는 Log.i 함수 호출을 제거 할 수 없습니다
은 다음과 같다 :
- proguard-rules.pro 추가 :
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
당신은 minifyEnabled
이 true
및 I로 설정되어 볼 수 있습니다 1.9M에서 1.2M로 축소 된 .apk 파일을 확인하십시오.
-assumenosideeffects class android.util.Log {
public static int v(...);
public static int i(...);
}
-dontwarn okio.**
나는 okake * 경고에 대한 많은 경고가 있었기 때문에 그 경고가 사용되기 때문에 확신합니다. 그 전에는 -dontwarn
을 추가 한 후 경고가 사라졌습니다.
로그가 사라 졌는지 확인하기 위해 Android Studio가 실행되는 PC에 연결된 장치에서 앱을 실행합니다. 디버그 모드가 아니지만 Android Monitor -> logcat을 사용하여 로그 출력이 있는지 확인합니다.
이상한 일은 여전히 내 앱에서 로그 출력이 표시된다는 것입니다. 로그의 ?
에서
Log.i(TAG, "send: "+ toHex(req));
의 내 코드의 결과입니다
10-14 18:53:01.436 3173-3173/? I/b: send: 03 ed 00 02 55
처럼, 나는 ProGuard에서이 (그렇지 않으면 내 전체 응용 프로그램의 이름이어야합니다) 일을 가정합니다. 그런데 왜 나는 여전히 logcat 로그를 볼 수 있습니까? 내가 놓친 단계는 무엇입니까?