안드로이드 개발 질문/답변
(글 수 45,052)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := fmodex
LOCAL_SRC_FILES := ../../../Engine/SDK/fmod_android/lib/armeabi/libfmodex.so
LOCAL_EXPORT_C_INCLUDES := ../../../Engine/SDK/fmod_android/inc
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := Android_main
LOCAL_SRC_FILES := \
$(MARK_CORE) \
$(MARK_ENGINE) \
$(MARK_GAME_LIB) \
Main.cpp \
AndroidEventLoop.cpp \
AndroidActivityHandler.cpp \
AndroidOpenGLES20.cpp \
AndroidInputHandler.cpp
LOCAL_LDLIBS := -landroid -llog -lEGL -lGLESv2
LOCAL_SHARED_LIBRARIES := fmodex
LOCAL_STATIC_LIBRARIES := android_native_app_glue libMarkCore libMarkEngine libfreetype2 libNvLib
위의 방식처럼 SHARED_LIBRARY라이브러리 fmodex를 가져오는데요
fmodex는 사운드 라이브러리고요 so파일 형태로 되어있습니다.
ndk-build로 빌드 다 되고 so파일까지 잘 만들어집니다.
그러나 실행하면 멈춰버리네요 ㅠㅠ
아 참고로 ndk에서 제공해주는걸로 java코드 없이 activity코드를 생성하였습니다.
그리고 static라이브러리는 참조가 잘되구요..;; 이상하게 shared(동적)라이브러리를 참조하면 멈춰버립니다. ㅠㅠ
이러신분 있으신가요?
2012.07.21 18:11:24
답변 감사합니다. 아즈라엘님아 ^^
자바코드 없이 안드로이드 ndk에서 activity를 안드로이드에서 제공해주는 클래스 android/native_app_glue를 이용해서 프로그램이 시작되는데요 AndroidManifest.xml에 <activity android:name="android.app.activity">로 등록되어 있는 상황이었습니다.
그런데 정적 라이브러리는 참조가 되지만 동적 라이브러리를 참조하면 뻗는 현상이 발생하여서 고생하였지요 ㅠㅠ
https://groups.google.com/forum/?fromgroups#!topic/android-ndk/bMA9iyTZVP8 여기보니 해결법이 있더군요 ㅠㅠ
두서가 없지만 혹시나 다른분들중 이런 현상있으시면 참고하시라고 올립니다. ^^
pc, ios, 안드로이드 왔다갔다하니까 정말 힘드네요... 특히나 안드로이드는 간단한 게임이야 모르겠지만 규모가 있는 게임에 경우
굉장히 힘든거 같습니다. ㅠㅠ




패스까지 맞춰줘야 했던 기역이..
cocos2d-x 라이버리 보면 잘 되어 있어요 참고해보세요..