계밥의 작업소
안드로이드 Cannot reslove symbol actionbaractivity 문제 해결 본문
저는 IntelliJ idea를 사용하고 있음을 먼저 알려드립니다.
결론적으로 안드로이드 앱을 개발하기 위해선 두 가지가 필요하네요.
우선, 해당 안드로이드 버전에 맞는 API와
다른 버전과 호환성을 유지해주는 Support Libary가 필요합니다.
2014년 5월 3일자로 최신버전 API는 Android 4.4.2(API 19)입니다. 근데 알고보니 이 놈은 딱 4.4.2버전과만 호환되는거 같더군요.
왜냐!

앱에서 메인함수 꼴이 되는 MainActivity에서 상속받는 ActionBarActivity가 없다고 뜹니다!! (말 그래로 Cannot resolve symbol ActionBarActivity인 겁니다.)
그럼 저게 왜 없는가라고 생각하면 효율성의 문제라고 보면 될거라고 생각합니다.
안드로이드 개발자 웹(http://developer.android.com/tools/support-library/index.html)에 들어가보시면
"여러분들의 앱이 어떤 플랫폼 버전의 범위를 예상하고 있는지, 그리고 그것들이 사용하는 API에 맞게 안드로이드 프로젝트에 Support Library를 추가하는 것은 앱 개발자들에게 좋은 행위라고 생각합니다."
라고 합디다.
즉, 각각의 API에 모든 내용을 다 넣지 말고 각 API 버전에 따른 핵심 부분, 혹은 새로운 부분들만 추가하고, 나머지 공통점들은 Support Library에 넣자 이 말인 것 같습니다. (적어도 앱이 어느 버전에서나 실행이 가능은 하게 하자 이 말인거죠.)
그럼 이걸 해결하기 위해선!!
Andorid Support Library를 설치합니다.
(아마 보통 안드로이드 SDK 설치하는 방법에선 이걸 알려주는 것 같은데, 전 그냥 감각이 시키대로 설치하느라 이걸 안 깔았네요 ;ㅅ;)

Android SDK Manager를 열고 아래로 내리다 보면 "Extras" 아래에 빨간색 네모로 해놓은 것을 설치합니다.
그리고 IntelliJ(혹은 안드로이드 스튜디오)를 껐다 다시 실행해줍니다. 그러면 이놈이 알아서 Support Library를 찾아서 포함시켜주게 됩니다. (Eclipse 같은 경우엔 아마 프로젝트 설정에서 support library 넣어줘야할겁니다. 대충 폴더 위치는 C -> Program Files -> Android -> andoird-sdk -> extras -> m2repository -> com -> android -> support -> appcompat-v7 넣어주면 됩니다.)
이제 예제 코드를 실행하면

짠
드디어 됩니다.
개굳
(참고로 AVD는 미리 실행시켜놓고 Run 실행하세요. 안 그러면 시스템 연결 되어있냐고 물어보면서 오류 반환합니다 --)
(내장 AVD 꺼졍. 제니모션 만만세 http://blog.naver.com/lkay9495/90195585678 )
참고는
http://stackoverflow.com/questions/21316055/actionbaractivity-cannot-resolve-a-symbol
여기도 확인염
'Android' 카테고리의 다른 글
안드로이드 UI 사이트 (0) | 2016.06.03 |
---|---|
Failed to find java version for ... 오류 해결법 (0) | 2016.06.03 |
언어 인코딩 문제 (0) | 2016.06.03 |
내장 AVD 대신 Genymotion!! (0) | 2016.06.03 |
INSTALL_FAILED_OLDER_SDK 오류해결방법 (0) | 2016.06.03 |