본문
[2018.09.09] 110. TargetSDK 27로 설정 시, 주의할 점
컴퓨터/이론: 안드로이드 2018. 9. 9. 20:54
도입
이번 포스팅에서는 Android에서 target SDK를 27(Orea)로 설정 시, 주의 할 점에 대해 정리할 예정이다.
target SDK를 27로 올리며 기존 코드의 문제로 crash가 발생했고 이를 해결하는 과정을 정리할 예정이다.
문제점
targetSDK를 27로 설정 했을 때 기존에
1. translucent 설정
2. screenOrientation 설정
이 되어 있는 경우, 아래와 같이 crash(Only fullscreen opaque activities can request orientation) 발생
원인
1. targetSDK 설정이 Orea보다 높으면서 (Orea 포함 X) 해당 Activity가 고정되어 있을 때 If 진입
2. Activity가 translucent거나 floating일 경우 해당 Exception 발생
(해당 코드가 삽입된 히스토리 - https://goo.gl/LxMCh9)
|
8.1(Oreo)에서는 아래와 같이 해당 코드가 삭제된 것을 확인할 수 있다.
|
해결책
여러 방법이 있겠지만 가장 단순한 방법은
1. screenOrientation 설정 삭제
1 2 3 4 | <activity android:name=".SecondActivity" android:theme="@style/Theme.AppCompat.NoActionBar.Trans" android:configChanges="orientation|screenSize|screenLayout" /> | cs |
2. Theme를 v26, v27일 때 설정 나누기
- v261234<style name="Theme.AppCompat.NoActionBar.Trans" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowIsTranslucent">true</item><item name="android:windowBackground">@color/transparent</item></style>cs - v271234<style name="Theme.AppCompat.NoActionBar.Trans" parent="Theme.AppCompat.NoActionBar"><item name="android:windowIsTranslucent">true</item><item name="android:windowBackground">@color/transparent</item></style>
cs
#Only fullscreen opaque activities can request orientation #targetSDK error
'컴퓨터 > 이론: 안드로이드' 카테고리의 다른 글
[2018.10.09] 112. CTS의 개념 (0) | 2018.10.09 |
---|---|
[2018.09.15] 111. Fragment의 생명 주기 (0) | 2018.09.15 |
[2018.07.28] 109. Scheme 개념과 실습 (0) | 2018.07.28 |
[2018.07.22] 108. Multi-window 개념과 주의할 점 (0) | 2018.07.22 |
[2018.07.14] 107. ScrollView Top 확인방법과 주의할 점 (0) | 2018.07.14 |
댓글