이번 토이 프로젝트 하면서 이것저것 써볼생각이야. DB는 룸을 쓰고, MVVM으로 하고 Dagger도 써보고. rxJava로 할지 그냥 코루틴으로 할지 모르겠지만. 뭐 여튼 이것저것 적용할꺼야.
근데 정리하면서 블로그에 남기면서 할껀데, 각각 해 놓은게 잘 동작하는지도 함 보고 테스트도 해보고 싶어서, 테스트용 액티비티를 하나 말들까 해.
지난 편을 보면 알겠지만, 아무것도 없는 그냥 빈 프로젝트를 만들었어.
토이프로젝트 1-2 안드로이드 스튜디오(Android Studio) 설치, 프로젝트 생성
토이프로젝트 1-2 안드로이드 스튜디오(Android Studio) 설치, 프로젝트 생성
먼저 https://developer.android.com/studio 사이트 접속해서 다운을 받아야겠지? 최신 버전은 Electric Eel이네. 전기뱀장어 인가? 안드로이드 버전은 후식이름이었다면, 스튜디오는 동물 이름이네. 북극여우
www.lonewhite.com
아래 그림처럼 아무것도 없이 비어 있지.
여기에 액티비티 하나 추가해보자
저기 패키지를 선택하고 마우스 오른쪽 눌러서 test라는 패키지 하나 추가해보자
그리고 추가된 패키지에 빈 액티비티 하나 추가! 이름은 대충.
그러면 알아서 layout 파일도 생성해주지. 그럼 한번 실행해볼가? 실행을 위해서는 Virtual Device를 만들어야겠지?
이렇게 Create device를 선택
그럼 아래처럼 Virtual Device를 세팅할 수 있게 나오는데 폰으로 그냥 대충 암거나 하면 됨 적당히 큰 사이즈 하면 되겠지
그리고 아래에서 x86 S OS 하나 다운로드 버튼 눌러서 설치하고.
다운 다 받으면 S 를 선택하고 Next를 누르고, 또 뭐 나오는데 신경쓰지 말고 그냥 피니시!
그럼 Virtual Device가 나오고 그걸 실행시키면됨
그리고 좀 기다리면 폰이 부팅이 되지. 부팅 다 되면, 실행을 눌러서 apk를 설치 실행해보자. 그럼 알아서 기본 그래들을 바탕으로 빌드 되면서 폰에 인스톨이 되고 실행이 되는거징~
근데 아래처럼 빌드 에러 나네. 리소스 파일을 임포트 하고 다시하면 됨. R에 마우스 커서 올리고 알트 엔터! 그리고 다시 실행 버튼을 눌러서 빌드, 설치 및 실행 가보자!
근데! 실행이 안되고
아래 같은 에러가 발생해 ㅠ
Could not identify launch activity: Default Activity not found
Error while Launching activity
Failed to launch an application on all devices
안드로이드 앱은 apk에서 기본되는 즉 실행이 되는 apk를 지정해야해. Launcher Activity를 하는거지. 이거는 AndroidManifest에 작성해줘야해.
Android Manifest에서 뭐 하는거야?
Android Manifest는 안드로이드 앱의 구성 정보를 담고 있는 XML 파일이야. 이 파일은 안드로이드 앱 개발에 있어 필수적인 요소로, 안드로이드 운영체제에서 앱을 설치하거나 실행할 때 필요한 정보
www.lonewhite.com
아래처럼
exported true랑 인텐트 필터를 추가하면 됨.
<activity
android:name=".TestActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
그리고 다시 실행하면... Virtual Device가 뭔가 이상한지 실행이 안되네ㅠ 그래서 Virtual Device 다른거로 바꾸고
만만하게, 폰에 Pixel 5에 S OS 두번째인 Sv2로 해보고.. 하 첫 세팅부터 막히네. 다시 안되고, 그래픽이 오토라서 그런거 같은데... Device Manager에서 연필 아이콘을 눌러서.. Emulated Performance 항목의 Graphic을 Software로 설정하고
성공? 성공! 일단 그래픽 이상한거는 해결됨!
다시 실행! 하는데.. 아래 처럼 다시 에러 ㅠ
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.lonewhite.finhelper, PID: 4892
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.lonewhite.finhelper/com.lonewhite.finhelper.TestActivity}: java.lang.ClassNotFoundException: Didn't find class "com.lonewhite.finhelper.TestActivity" on path: DexPathList[[zip file "/data/app/~~S5OZhjxoNX7Jq-watE8zlw==/com.lonewhite.finhelper-AY0JH70CbZ2vOir-BWgwpg==/base.apk"],nativeLibraryDirectories=[/data/app/~~S5OZhjxoNX7Jq-watE8zlw==/com.lonewhite.finhelper-AY0JH70CbZ2vOir-BWgwpg==/lib/x86_64, /system/lib64, /system_ext/lib64]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3591)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3842)
뭔가 빌드상에 문제겠죠? 클리어 하고 다시 빌드. 메뉴에서 빌드 - 클린 프로젝트 실행!
그리고 다시 화살표를 눌러서 실행! 클린 했으니깐 빌드 다시돌고! 다시 실패
이것저것 살펴보니... Manifest의 ".TestActivity" 부분의 빨간줄이 눈에 걸리네요. test 패키지를 속에 있는데 그냥 최 상위에 있는것 처럼 되어 있네요. 아래처럼 변경
<activity
android:name=".test.TestActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
그리고 실행하면....!
성공이네요. 대충 테스트 액티비티 만들었으니깐, 다른것들 테스트 해볼 준비는 되었네요!
하지만 오늘 너무 피곤해서.. 패스..
담번에는 room을 추가하면서 그래들 수정해서 maven에서 받아오도록 수정해보죠~
'개발 > 자세히 쳐다 보면...' 카테고리의 다른 글
토이프로젝트 1-6 dagger 써보기 -1- (0) | 2023.04.09 |
---|---|
토이프로젝트 1-5 room 써보기 (0) | 2023.03.12 |
토이프로젝트 1-4 모듈 만들기 (0) | 2023.03.09 |
토이프로젝트 1-2 안드로이드 스튜디오(Android Studio) 설치, 프로젝트 생성 (0) | 2023.02.18 |
토이프로젝트 1-1 주제 (0) | 2023.02.18 |
댓글