본문 바로가기

프로그래밍/Android

[Android] Error type 3 Activity class does not exist.

728x90

너무 한참 고생을 해서 노트를 남김.

분명 이전에 기기에 잘 설치해서 돌았던 앱을 수정하여 다시 빌드하고 실행하였는데, 제목과 같은 에러 메시지가 나오면서 도대체 실행이 되지 않았다.

에러 메시지는 다음과 같다.

02/20 15:24:28: Launching 'app' on LGE Nexus 5X.
$ adb shell am start -n "org.tensorflow.lite.examples.classification/org.tensorflow.lite.examples.classification.ClassifierActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Error while executing: am start -n "org.tensorflow.lite.examples.classification/org.tensorflow.lite.examples.classification.ClassifierActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=org.tensorflow.lite.examples.classification/.ClassifierActivity }
Error type 3
Error: Activity class {org.tensorflow.lite.examples.classification/org.tensorflow.lite.examples.classification.ClassifierActivity} does not exist.

Error while Launching activity

구글링을 통해서 이전 빌드의 찌꺼기를 삭제하고, Clean Build 를 하고, 기기에서 이전에 설치되었던 앱도 삭제하는 등의 해법을 적용해 보았으나 해결이 되지 않았다.

매우 이상했던 것은, Android Studio 에서는 분명히 install 이 성공했다는 알림이 뜨지만, 기기의 설치된 앱 목록에서는 설치된 앱이 보이지 않았다는 점.

어떤 이유에서인가, 앱이 설치되지 못하지만, Android Studio 는 install 되었다고 인지하고, 앱을 launch 하는 명령에서 앱의 시작 activity 가 없기 때문에 발생하는 에러인 것 같았다.

결국 문제를 해결한 것은 https://bongjacy.tistory.com/entry/Error-Activity-class-com-does-not-exist 포스팅에서 3번 해법으로 제시한 방법이었다. "손님"으로 사용자를 바꾸고, 그 손님계정에서도 앱을 삭제하여야 했다.

앱이 글로벌하게 모든 사용자에게 설치/삭제될 수도 있고, 사용자별로도 설치/삭제될 수 있는 것일까? 아무튼 이것 때문에 몇시간 낭비했음.