如何把ndk编译出来的可执行文件伪装成so打

2025-01-26 17:44:37
推荐回答(2个)
回答1:

1. 为了不破坏ndk本来的脚本,将build-executable.mk拷贝一份放在自己的工程目录下面,在倒数第三行插入一句 $(evalLOCAL_BUILT_MODULE := $(TARGET_OUT)/$(MY_LOCAL_MODULE_FILENAME))
2. 在自己的Android.mk文件中定义MY_LOCAL_MODULE_FILENAME变量,当然值就是你想要的文件名啦
3. 编译时不调用系统的include$(BUILD_EXECUTABLE), 而改调用自己的脚本(就是上面拷贝出来且做了修改的那个脚本),为了方便,你可以给自己的脚本定义一个变量来指向它。

回答2:

ndk-build 找的是jni目录,把你build的文件放到jni目录里面,ndk-build jni/