0
僅當我在仿真器上運行它時,我的應用纔會觸發SIGILL故障。該應用程序使用ActionBarSherlock,最低SDK目標是API級別8.在執行本機代碼時觸發故障(其餘應用程序,用Java編寫,似乎工作)。我嘗試了許多不同的模擬器設置,但沒有成功。沒有特定的代碼是錯誤的。如果我對發生故障的函數發表評論,SIGILL由其他某個函數觸發。我使用宏LOGI在控制檯上寫東西,並且正確調用了本地代碼函數。我完全不知道發生了什麼。該應用程序完美地運行在兩個不同的手機上(運行android 2.3.4的armv6 rev 5和運行android 4.0.3的armv7 rev 9)。本機代碼是我在Windows桌面系統上編寫和測試過的一個庫,它的工作沒有問題。 幫助!Android - 原生代碼僅在仿真器上觸發SIGILL
Android.mk
OCAL_PATH := $(call my-dir) include $(CLEAR_VARS) #LOCAL_CFLAGS := -DANDROID_NDK -Wno-psabi LOCAL_C_INCLUDES += png++/ LOCAL_C_INCLUDES += libpng/ LOCAL_C_INCLUDES += zlib/ LOCAL_MODULE := mylib LOCAL_SRC_FILES := /* a list of .cpp files... */ LOCAL_SRC_FILES += $(wildcard ./*.c) LOCAL_SRC_FILES += $(wildcard ./zlib/*.c) LOCAL_SRC_FILES += $(wildcard ./libpng/*.c) LOCAL_LDLIBS := -llog LOCAL_LDLIBS += -ljnigraphics LOCAL_CFLAGS += -marm -march=armv6 -mfloat-abi=softfp -mfpu=vfp -fpermissive -fwrapv -O2 -fexceptions include $(BUILD_SHARED_LIBRARY)
Application.mk
APP_STL := gnustl_static APP_OPTIM := release APP_CPPFLAGS += -frtti
向我們展示至少Android.mk + Application.mk ...和模擬器...您是使用Intel x86還是Arm ABI? – Selvin 2013-03-01 14:52:38