Android SDK 문제 해결
중요
Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.
필요한 Android 권한은 무엇인가요?
사용하는 서비스에 따라 다음 권한이 필요합니다.
- 모든 서비스:
INTERNET
,ACCESS_NETWORK_STATE
- 배포:
REQUEST_INSTALL_PACKAGES
,DOWNLOAD_WITHOUT_NOTIFICATION
필요한 권한은 SDK에 의해 앱의 매니페스트에 자동으로 병합됩니다.
이러한 권한 중 어느 것도 런타임에 사용자 승인이 필요하지 않으며 모두 설치 시간 권한입니다.
분석 데이터가 포털에 표시되지 않음
SDK 모듈을 올바르게 통합했는지 확인합니다.
올바른 App Secret이 메서드 호출과 함께
start()
포함되어 있는지 확인합니다. 포털에서 앱을 열고 시작 페이지로 이동하여 정확한start()
코드를 복사할 수 있습니다.백 엔드로 전송되는 로그를 보려면 애플리케이션에서 로그 수준을 Verbose 로 변경하면 SDK가 콘솔에서 로그를 인쇄합니다. SDK를 시작하기 전에 아래 API를 호출합니다.
AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)
로그에 "App Center SDK가 성공적으로 구성됨"(정보 로그 수준)을 확인한 다음 HTTPS 요청 로그가 표시되면 검사.
디바이스가 온라인 상태인지 확인합니다.
경우에 따라 로그가 포털에 표시되는 데 몇 분 정도 걸릴 수 있습니다. 그런 경우 잠시 기다립니다.
App Center 백 엔드가 데이터를 수신했는지 검사 분석 서비스의 로그 흐름 섹션으로 이동합니다. 이벤트가 전송되면 표시됩니다.
포털에 크래시가 표시되지 않음
SDK 모듈을 올바르게 통합했는지 확인합니다.
올바른 App Secret이 메서드 호출과 함께
start()
포함되어 있는지 확인합니다. 포털에서 앱을 열고 시작 페이지로 이동하여 정확한start()
코드를 복사할 수 있습니다.충돌 후 앱을 다시 시작합니다. SDK는 다시 시작한 후에만 크래시 로그를 전달합니다.
백 엔드로 전송되는 로그를 보려면 애플리케이션에서 로그 수준을 Verbose 로 변경하면 SDK가 콘솔에서 로그를 인쇄합니다. SDK를 시작하기 전에 아래 API를 호출합니다.
AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)
로그에 "App Center SDK가 성공적으로 구성됨"(정보 로그 수준)을 확인한 다음 HTTPS 요청 로그가 표시되면 검사.
디바이스가 온라인 상태인지 확인합니다.
경우에 따라 로그가 포털에 표시되는 데 몇 분 정도 걸릴 수 있습니다. 그런 경우 잠시 기다립니다.
SDK가 다음 앱 시작 시 충돌을 감지한 경우 검사 하려면 API를 호출하여 앱이 마지막 세션에서 충돌했는지 여부를 검사 경고를 표시할 수 있습니다. 또는 크래시 콜백을 확장하여 서버에 성공적으로 전송되었는지 확인할 수 있습니다.
App Center 백 엔드에서 크래시가 수신되었는지 검사 분석 서비스의 로그 흐름 섹션으로 이동합니다. 충돌이 전송되면 거기에 표시됩니다.
배포 및 앱 내 업데이트가 자동화된 UI 테스트를 차단하고 있습니다.
자동화된 UI 테스트를 실행하는 경우 앱 내 업데이트를 사용하도록 설정하면 App Center 백 엔드에 대해 인증을 시도하므로 자동화된 UI 테스트가 차단됩니다. UI 테스트에 App Center 배포를 사용하도록 설정하지 않는 것이 좋습니다.
App Center SDK가 Android 앱 크기에 미치는 영향은 무엇인가요?
App Center SDK는 애플리케이션의 설치 크기에 미치는 영향을 최소화하도록 설계되었습니다.
이를 설명하기 위해 Android Studio의 "빈 앱" 템플릿을 사용하여 빈 Java 애플리케이션을 만들었습니다. 릴리스 구성에서 앱을 빌드하고 Android 7.0을 실행하는 디바이스에 앱을 설치했습니다.
테스트는 Proguard를 사용하도록 설정하지 않고 실행되었습니다.
아래 숫자는 다를 수 있으며 빌드 설정에 따라 달라질 수 있으므로 대략적인 가이드라고 생각해 보세요. Proguard를 사용하는 경우 SDK가 앱에 미치는 영향은 더 낮아질 것입니다.
사용되는 App Center 모듈 | 내보낸 APK 크기 | 설치 크기(디바이스에서 보고됨) |
---|---|---|
없음(빈 앱) | 1.3MB | 3.43MB |
App Center 분석 | 1.4MB | 3.63MB |
App Center 충돌 | 1.4MB | 3.70MB |
App Center 배포 | 1.4MB | 3.71MB |
모든 App Center 모듈 | 1.4MB | 3.82MB |
App Center 비밀 값 보호
는 app_secret
앱의 식별자이며 트래픽이 적용되는 앱을 알아야 하며 기존 데이터를 검색하거나 편집하는 데 사용할 수 없습니다. app_secret
노출되는 경우 가장 큰 위험은 잘못된 데이터를 앱에 보내는 것이지만 데이터의 보안에는 영향을 미치지 않습니다.
중요한 데이터를 검색하려면 클라이언트 쪽에서 생성되는 앱/사용자 토큰을 제공해야 합니다. 클라이언트 쪽의 데이터를 완전히 안전하게 만들 수 있는 방법은 없습니다.
환경 변수를 사용하여 앱 비밀을 코드에 삽입하여 앱의 보안을 향상시킬 수 있습니다. 이렇게 하면 코드에 비밀이 표시되지 않습니다.
jCenter에서 Maven Central로 마이그레이션
jCenter 지원 종료로 인해 모든 어셈블리가 Maven Central 리포지토리로 이동되었습니다.
App Center를 사용하려면 아래와 같이 Gradle 파일의 리포지토리에 를 추가 mavenCentral()
해야 합니다.
repositories {
google()
mavenCentral()
}