오랫만에 포스팅이다
최근에 앱 업데이트를 진행하다가
안하던 짓을 했다.
기존에 manifest 파일에 minSdkVersion="8" 만 세팅해서 쓰다가 아래의 이클립스 warning 경고가 눈에 거슬려
<uses-sdk> tag should specify a target API level (the highest verified version; when running on later versions, compatibility behaviors may be enabled) with android:targetSdkVersion="?"
뭐 별일 있겠냐 싶어서 targetSdkVersion="14"로 설정했다. 단순히 나는 target을 "이 앱은 해당 버전에 최적화 되었습니다." 라고 이해하고서는 말이다.
배포를 하고나니 플레이어 재생시 가로세로 전환마다 동영상 재생이 재시작 되는 버그가 나타났다.
오. 마. 이. 갓.;
소스에 문제로 우선 판단하고 디버깅했으나 별다는 이상 여부 없었다. 혹시나 하는 맘에 해당 targetSdkVersion을 빼보니 정상 동작;;; 뭐지 이거 단순한 알림 개념이 아니었나;
레퍼런스를 찾아봤다.
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
android:targetSdkVersion
An integer designating the API Level that the application targets. If not set, the default value equals that given to minSdkVersion
.
앱이 타킷으로 하는 API 레벨을 지정된 상수코드란다. 지정하지 않으면 minSdkVersion과 동일시 한단다. 그렇구나. 기존에는 API레벨이 8로 지정되어 쓰이다가 14로 바뀌면서 MediaPlayer 작동방식이 바뀐게 있나보다;
여튼 다시 해당 속성은 빼고 정상화 시키도록 했고, 미디어 재생 프로세스는 바뀐게 뭐가 있는지 또 찾아봐야겠다.
결론은... targetSdkVersion 제대로 알고 확인하고 쓰자!!!