VisualStudio中如果当前模式为DEBUG,那么我在代码中可以在#if DEBUG中执行一些代码,比如Debug模式中访问的API为www.aaa.com。而正式发布release时API是www.bbb.com,这在vs中是可以。不知道Android Studio中有没有类似的功能。
高洛峰2017-04-17 17:33:01
Android Studio는 BuildConfig 클래스를 자동으로 추가합니다. 이 클래스에는 DEBUG라는 필드가 있습니다. 해당 값은 현재 컴파일 모드에 따라 자동으로 생성되며, 컴파일 모드가 디버그이면 값이 true가 됩니다. , 값이 거짓입니다. 따라서 이 기능을 기반으로 함수에 if(BuildConfig.DEBUG) 클래스를 추가하면 유사한 기능을 얻을 수 있습니다. 일반적인 예는 로그가 디버그 중에 출력되고 릴리스 중에는 출력되지 않도록 Log 클래스를 사용자 정의하는 것입니다.
으아악PHP中文网2017-04-17 17:33:01
아니요, Java는 매크로 정의를 지원하지 않으며 모든 디버깅 정보가 컴파일 결과에 포함됩니다. 프로덕션 환경에서는 디버거가 실행되지 않도록 프로그램에서만 변수를 설정할 수 있습니다.
Android Manifest에는 버전 정보가 있으며, 기본적으로 디버그 버전과 릴리스 버전이 생성됩니다. 프로그램 판단을 통해 매개변수를 전환할 수 있습니다.
黄舟2017-04-17 17:33:01
이 기능은 쓸모가 없습니다. 직접 구현하려면 코드를 작성해야 합니다(3줄 이하의 코드로 수행 가능). 원하는 경우 Android 개발이 더 많이 필요합니다. 더 많이 기억해야 합니다. 쓸모없는 기능이 너무 많습니다(이익이 손실보다 큽니다)