안드로이드 개발 질문/답변
(글 수 2,584)
안녕하세요 ndk로 이제 기초 공부 시작했는데 막히는 부분이 있어서 문의 드립니다.
우선 환경은 윈7에 시그윈 깔아서 vmware에 안드로이드 돌리고 있습니다.
제일 기초적인 헬로를 찍는데 문제가 발생합니다.
hello.c 파일
int main() { printf("hello ndroid!"); return 0; }
Android.mk
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := hello LOCAL_SRC_FILES := hello.c include $(BUILD_EXECUTABLE)위와 같이 만들어서 ndk-build한 다음adb push를 이용하여 vmware의 /data/local/tmp에 hello 파일을 넣고./hello 실행하였더니./hello: not executable: magic 7F45
위와 같은 에러가 발생하였습니다.고수님들 답변 부탁드립니다.
2013.01.24 11:11:54
http://www.flowdas.com/o/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9Candroid-ndk%EB%A1%9C-%EC%8B%A4%ED%96%89%ED%8C%8C%EC%9D%BC-%EB%A7%8C%EB%93%9C%EB%8A%94-%EB%B2%95/
2013.01.24 11:14:46
왠지 arm 용으로만 컴파일 하신 듯 한데요.
Application.mk 파일에 APP_ABI에 armeabi armeabi-v7a 같은 것만 있다면, arm용으로 컴파일 합니다.
x86을 추가해 주세요.
2013.01.24 13:50:00
사악미소님 혹시 x86으로 컴파일은 어찌 하는지 좀 가르쳐 주세요... 완전 초짜라서 sdk만 개발하다 와서 그런지 모르는게 산더미 입니다.
혹시 android.mk에다가
APP_ABI := x86 요것만 추가해 주면 되나요?
저 부분 추가해서 다시 빌드해도 armeabi 폴더만 생기고 x86관련 폴더는 안생기네요...
2013.01.24 14:00:05
사악미소님 덕분에 찾았네요....
$ndk-build APP_ABI="armeabi armeabi-v7a x86"
근데 x86에 있는 파일을 실행했는데 이번에는 아무 반응이 없네요..ㅡㅡ;;
자답인데 확실하지 않아 추가로 문의드립니다.
우선 vmware에 들어가는 android cpu가 무엇인지 모르지만 cpu의 차이인듯 합니다.
이클립스에서 arm cpu로 에뮬만들어서 실행하니 실행이 되네요.... x86으로 빌드를 해야하는건가요??
제가 생각하는 문제가 맞는건가요?