수정해야될 부분을 수정하고,
signapk을 활용하여 서명 적용 후 애뮬레이터에 설치를 진행하면 아래 오류가 출력됩니다.
[INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
제가 사용하는 java 버전에서는 BASE64Encoder 클래스가 제거되었다고 해서 버전도 8버전으로 낮춘 뒤 서명을 진행했습니다.
signapk 말고keytool, jarsigner 을 사용해도 똑같은 오류가 출력됩니다. 애뮬레이터 OS 버전을 낮춰보니 아래 오류도 뜨네요.
[install_failed_invalid_apk scanning failed..: Package /data/app/~~WfS4FzAFdbGbhEggfmSp-g==/com.namdaehyeon.findkey1-- MXdcTxh__UHwPZHMKLeGw==/base.apk code is missing]
안녕하세요. 에뮬레이터가 보여주는 에러 메시지에 정답이 있습니다. ABI는 안드로이드 디바이스 CPU 버전을 알려주는 역할을 합니다. 현재 출력된 에러메시지는 sign과 연관이 없습니다.
물론, 안드로이드 파일을 수정하게 되면 리패키징이 필요하기에 sign은 반드시 필요한 작업입니다. 하지만, sign 이외에도 고려해줘야 하는 사항이 더 있다고 생각하시면 이해하기 쉬우실 겁니다.
하단의 링크를 참고하시면, 더욱 더 많은 정보를 얻으실 수 있으십니다.
https://developer.android.com/ndk/guides/abis
사용중이신 에뮬레이터의 정보는 아마 x86 혹은 x86_64 이실겁니다. 출제 된 파일이 요구하는 CPU 버전을 소지하고 있는 에뮬레이터를 사용하셔야 합니다.
답을 직접적으로 노출하면 안된다고 생각하기에 힌트를 드리겠습니다. CPU 버전을 유추할 수 있는 경로는 주어진 challenge 파일 내부에 존재합니다.