Android Crash Debugging

오픈소스·2024년 10월 26일
0

# 특정 앱의 로그만 필터링 (패키지명으로)
adb logcat | grep "com.yourpackage.name"

# 에러만 필터링
adb logcat *:E

10-26 16:58:21.870 14535 14535 E AndroidRuntime: Process: com.youngkiu.busdeparture, PID: 14535
10-26 16:58:21.870 14535 14535 E AndroidRuntime: java.lang.RuntimeException: Unable to start service com.youngkiu.busdeparture.BusEventService@bd8f4c0 with Intent { cmp=com.youngkiu.busdeparture/.BusEventService }: android.app.MissingForegroundServiceTypeException: Starting FGS without a type callerApp=ProcessRecord{424e540 14535:com.youngkiu.busdeparture/u0a321} targetSDK=34
10-26 16:58:21.870 14535 14535 E AndroidRuntime: Caused by: android.app.MissingForegroundServiceTypeException: Starting FGS without a type callerApp=ProcessRecord{424e540 14535:com.youngkiu.busdeparture/u0a321} targetSDK=34
10-26 16:58:21.870 14535 14535 E AndroidRuntime: at com.youngkiu.busdeparture.BusEventService.onStartCommand(Unknown Source:5)

이 문제는 Android 14(API 34)에서 도입된 새로운 요구사항 때문에 발생합니다. Android 14부터는 Foreground Service를 시작할 때 반드시 type을 명시해야 합니다. by claude.ai

  • app/build.gradle
android {
    defaultConfig {
        targetSdkVersion 34
        // ... 다른 설정들 ...
    }
}
  • app/src/main/AndroidManifest.xml
<service
    android:name=".BusEventService"
    android:exported="false"
    android:foregroundServiceType="dataSync" />  <!-- 추가 -->
    
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />

0개의 댓글