2012-01-27 5 views
1

애플리케이션이 릴리스 모드인지 또는 디버그인지 확인하는 데있어 하나의 질문이 있습니다. 함수를 사용하여 응용 프로그램 모드를 자동으로 감지하는 방법을 찾아야합니다. 현재로서는 true/false을 변경할 때마다 boolean을 선언하는 간단한 방법을 사용하고 있습니다. 그러나 때로는 나 또는 다른 개발자가 그것을 변경하는 것을 잊을 수도 있습니다. 사실 나는 이것을 필요로하기 때문에, 잡히지 않는 서버 예외를 보내는 앱에서 오류 처리기를 사용하고 있습니다. 그리고 나는 이것을 디버그 모드에서하고 싶지 않습니다.Android 디버그/릴리스 버전의 애플리케이션

내 앱이 자동으로 어떤 기능을 사용하여이를 감지 할 수있는 방법이 있습니까?

+0

나는 이것을 간단하게 수행 할 수 있다고 생각하지 않습니다. 애플리케이션의 'android : debuggable' 속성을 매니페스트에서 검색 할 수는 있지만 다시 100 % 확신 할 수는 없습니다. –

+0

다른 방법은 apk에서 서명의 해시를 검색하여 앱 서명에 사용 된 알려진 디버그/릴리스 서명과 비교하는 것입니다. –

+0

그래서 부울 변수를 고수해야합니다. –

답변

1

일반적인 해결책은 없지만 isDebuggerConnected을 사용할 수 있습니다.

그러나 사용자가 전화기를 PC에 연결하고 ddms를 사용하는 경우이 솔루션을 사용하면 디버그 기능이 실행/표시됩니다.

어쩌면 당신은하기 Aleks G 제안 검사 중 하나를이 결합, 그리고 왜 이것을 사용하면 디버그 ;-)

0

을 해제시켜 모든 시작에 토스트 메시지를 팝업 sould?

if (BuildConfig.DEBUG) { 
    // what shall happen in debug version 
} else { 
    // release version 
}