플러터 - 안드로이드 play console 에서 테스트 앱 배포 (feat. adb )
플러터 앱을 테스트 하기에 가장 좋은 방법이 뭘까?
apk 파일을 보내서 설치 테스트 하는 것은 뭔가 찜찜하다.
플레이 콘솔에서 공식 지원하는 내부테스트 방법으로 해보고자 한다. (apk 대신 aab - android app bundle ? )
플러터 기본 빌드 기능에서 "Build App Bundle" 이 있어서 해봤다.
플레이 콘솔에서 앱 업로드를 해보니,
디버그 모드로 서명한 APK 또는 Android App Bundle을 업로드했습니다.
출시 모드로 APK 또는 Android App Bundle에 서명해야 합니다.
위와 같은 메시지. ( 서명 키를 만드는 방법 - https://developer.android.com/studio/publish/app-signing#generate-key )
위 방법중 "Generate Signed Bundle / APK " 플러터 프로젝트에는 메뉴가 없다.
android studio 를 플러터 프로젝트 로 열어서 그렇다.
프로젝트의 android 라는 폴더를 안드로이드 스튜디오에서 File / Open 으로 열면 해당 메뉴가 보인다. (즉, android 프로젝트 로 연다.)
키스토어 관련 정보를 입력하고,
일단 된 듯 하여, 플러터 프로젝트에서 빌드해서 업로드 해봐도 동일한 메시지가 나왔다. 뭔가 키스토어 연결이 안된 듯 하다.
(위 링크중 https://developer.android.com/studio/publish/app-signing#sign-auto 부분을 설정한다.)
요약하자면, singing config 를 만들고 => Build Type 에 해당 config 를 맞추고 =>
최근 안드로이드 스튜디오의 메뉴 위치는 살짝 다르다.
일단 release-test 로 릴리즈 테스트 로 만들었다. (기존 debug 설정에 넣어도 될 듯 함)
- 아! 화면에는 오타가 암튼 중요한 건 아니니 -
Build Variants 에 해당 Signing Config 를 선택해준다.
여기까지 하고, 플러터에서 빌드 => 업로드 . 다시 에러.
테스트 빌드도 세부적인 것을 많이 체크하나보다. 암튼 저것도 맞춰준다.
저것까지 맞추고 다시 업로드.
OK 성공.
그러나.
.
.
내부 테스트를 위해 할일이 많군. ( 경고 쪽은 안내대로 해주면 OK)
오류 => 계정문제 는 최근에 계정 등록해서 인증이 완료되지 않았다.
위 절차를 해야 한다.
근데, 관련 필요 서류로 할 만한 것이 없다.
오프라인 서류는 당연히 없고, 온라인 서류로 발급 될 만한 것을 찾아봐야 겠다.
=== 일단 될만한 것이 있어 시도 해본다. ===
위 서류 예시에는 없지만, 국세청에서 부가세 우편물에 이름/주소가 있어서 시도해본다.(공공요금 청구서에 해당하려나?)
과연 승인이 떨어질지...
[추가+2일]
승인이 되었다. - 영업일 기준 1일 이내에 처리되는 듯 하다(주말이 끼어 있어...)
내부테스터 로 출시 후에 설치 시도를 해보았다.
그런데, 아래 메시지 와 함께 설치가 안된다.
개발용 기기에 설치를 하려고 한 듯 해서, 폰에서 설정 > 앱 메뉴에서 해당 앱을 삭제 했다.
그래도 안된다. "모든 사용자에서 삭제" 로 해야 한다고 하는데, 그 부분 때문일까?
위 현상이 안드로이드 스튜디오에서 Run 할때도 이상현상이 발생한다.
[설치 이상 현상 조치]
adb 로 직접 폰에 접속해서 조치 하기로 했다.
무선 디버깅 / USB 기기 연결 등 한 후에
adb shell
으로 접속
pm list packages | grep "패키지 명"
위 명령 하여 패키지 명을 알아낸다.
pm uninstall "전체패키지명"
예시) pm uninstall com.example.myapp
한번에 해도 된다.
adb shell pm uninstall com.example.myapp
위 명령으로 조치 후 - 설치 시도를 해보니 정상 설치 된다.
==>
그런데, 실제 앱 테스트 하니, 인터넷 접속이 안되는지, API 서비스 연결이 안되는지 , 정상동작 하지 않는다.
릴리즈 용 권한설정이 빠진것일까?
더 알아봐야 겠다.
[추가 - 역시 권한 문제]
디버그 쪽에는 자동으로 들어가 있는데, 릴리즈 시에는 없으니, 인터넷이 꼭 필요한 앱은 넣어줘야 한다.
다시 내부 테스트 릴리즈 해보니 정상 동작 함.
그런데, 개발기기에서는 위 adb shell pm uninstall 을 매번 해줘야 하네. (불편하군)
WRITTEN BY
- 1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.