0
我正在研究使用某些Android私有API的應用程序。我將其作爲完整Android(CM10)源代碼的一部分爲我的手機配置。生成的二進制文件在該設備上運行良好,但在具有相同Android版本的其他設備上引發了分段錯誤。這不是缺少API的問題,因爲即使是一個簡單的hello world編譯,也會引發Segfault。下面是一個示例代碼:如何使用Android私有API構建便攜式二進制文件
HELLO-cmd.cpp
#include<stdio.h>
int main(int argc, char* argv[]) {
printf("Hello Command Line!");
return 0;
}
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-cmd
LOCAL_SRC_FILES := hello-cmd.cpp
include $(BUILD_EXECUTABLE)
當我建立了Android NDK下面的代碼是可移植的。當我在android源代碼中構建它時,它不是。
我想問題是一個鏈接器配置,但我不知道如何調試或修復此問題。
用strace運行應用程序以查看導致段錯誤的原因。 – auselen