어떤 ndk 프로젝트를 개발하다가 디버깅하기 위해 ndk-gdb를 실행하면 다음과 같은 오류를 내놓으면서 진행되지 않는 문제가 있다.
Found package name: com.louis.testnative
ABIs targetted by application: armeabi
Device API Level: 10
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi
Using gdb setup init: ./libs/armeabi/gdb.setup
Using toolchain prefix: /cygdrive/c/NVPACK/android-ndk-r8//toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-
Using app out directory: ./obj/local/armeabi
Found debuggable flag: true
Found device gdbserver: /data/data/com.louis.testnative/lib/gdbserver
ERROR: Could not extract package's data directory. Are you sure that
your installed application is debuggable?
로그에서 보여지다시피 패키지는 찾았으나 아래 로그에서는 패키지를 못찾겠다고 에러를 출력하는데 이때 의심해 봐야 할 것이 /system/bin/run-as의 버그를 의심해야 한다.
관련내용은 다음 링크(http://code.google.com/p/android/issues/detail?id=16391)
이미 패치가 나와 있는 관계로 수정해서 새로운 run-as를 만들어 이전과 똑같은 위치에 넣어두고 시스템을 재시작하면 오류가 해결된다.(확인요망)
새로 만든 run-as를 /system/bin에 넣어줄때 몇가지 주의해야 할 사항이 있는데 이는 별도의 게시물로 해서 좀더 자세하게 설명한다.