【发布时间】:2015-08-10 12:02:45
【问题描述】:
我编写了一个 .c 源代码(在 Eclipse 中),它使用 libcap 库来获取与网络流量相关的信息。现在我在 Eclipse 中使用 ndk-build 创建了一个可执行二进制文件。我已将 libs/armeabi 文件夹中创建的二进制文件推送到我的 android(root nexus 5,Lollipop)的 /data/local/ 文件夹中,并尝试执行该二进制文件。但是android正在抛出这个错误
错误:仅支持与位置无关的可执行文件 (PIE)
我对 PIE 一无所知,请告诉我如何创建与位置无关的可执行文件。
【问题讨论】:
-
已解决,只需在Android.mk文件中添加这两行
-
LOCAL_CFLAGS += -fPIE LOCAL_LDFLAGS += -fPIE -pie
标签: android linux android-ndk android-5.0-lollipop