GenyMotion의 로컬 호스트 IP 주소 (10.0.3.2)는 Android 에뮬레이터의 로컬 호스트 IP (10.0.2.2)와 다릅니다.Android Gradle 빌드에서 디버그에 포함되는 파일 작성 APK
//val LOCALHOST = "10.0.2.2" // Android emulator
val LOCALHOST = "10.0.3.2" // Genymotion
을하고 나는 리눅스와 Mac 상자 사이를 전환하고 최신 버전의 소스를 가져올 때마다, 나는 하나의 주석을 해제하고 다시 작성하기 전에 다른 의견을 가지고 : 현재 내 소스 파일 중 하나이 있습니다.
누군가가 더 나은 해결책을 생각할 수없는 경우 호스트 OS에 따라 이러한 값 중 하나를 APK에 포함 된 파일에 기록하여 액세스 할 수있는 Gradle 작업을하고 싶습니다. 그것은 내 안드로이드 애플 리케이션의 런타임에서, 그리고 assembleDebug
전에 안드로이드 스튜디오에서 빌드 작업을 실행해야합니다.
리소스에 넣으면 런타임에 액세스하는 것이 가장 쉽지만 Class.getResourceAsStream()에 액세스 할 수있는 일반 텍스트 파일도 괜찮습니다.
릴리스 apk에 포함되어 있어도 상관 없지만 디버그에 포함되는 것이 좋습니다.
파일을 내 build/
출력 디렉토리에 생성하여 버전 제어가 보이지 않도록하는 것이 좋습니다.
어떻게해야할까요? 당신이 BuildConfig.LOCALHOST
으로 액세스 할 수 있습니다
고맙습니다! 이것은 훌륭하게 작동했습니다. – user3562927