코딩하는 개굴이

[안드로이드] java.lang.IllegalArgumentException: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified … 본문

안드로이드

[안드로이드] java.lang.IllegalArgumentException: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified …

개굴이모자 2023. 1. 15. 22:08
반응형

targetSdkVersion을 올리려했더니 이 에러가 나오더라.

FATAL EXCEPTION: pool-11-thread-1
Process: ..., PID: 16791
java.lang.IllegalArgumentException: ...: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:382)
at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:673)
at android.app.PendingIntent.getBroadcast(PendingIntent.java:660)
at androidx.work.impl.utils.ForceStopRunnable.getPendingIntent(ForceStopRunnable.java:273)
at androidx.work.impl.utils.ForceStopRunnable.isForceStopped(ForceStopRunnable.java:151)
at androidx.work.impl.utils.ForceStopRunnable.forceStopRunnable(ForceStopRunnable.java:171)
at androidx.work.impl.utils.ForceStopRunnable.run(ForceStopRunnable.java:102)
at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)

 

 

찾아보니, 아래와 같이 workmanager 의 dependency 를 추가하면 된다고 한다.

dependencies {
  // ...
  implementation 'androidx.work:work-runtime:2.7.1'
}

 

그러나, 본인의 케이스에서는 그거 외에 만일 koin 쓰고 있었는데 koin 자체에서 특정 버전이 위처럼 workmanager 버전 이슈가 있었던 것으로 보인다. 따라서 본인은 사용하던 koin 버전을 3.1.2 → 3.3.0 으로 변경하여 해결하였다.

 

(만일, 사용하지 않는다면 workmanager 를 빼버려도 무방한 것 같다.)

 

 

참고 링크

https://stackoverflow.com/questions/70894168/targeting-s-version-31-and-above-requires-that-one-of-flag-immutable-or-flag

반응형
Comments