在运行时Android NDK中替换函数中的字符串

时间:2011-09-12 23:10:19

标签: android c++ c android-ndk

我有一个外部编译的静态C ++库,我正在我的android应用程序中使用。该库正在读取文件。我想知道是否有一种方法可以“重定向”正在读取文件的函数,以便它读取另一个文件。

如果确实如此:

fopen("myfile.txt", "rb"); 

我想拦截它而不是这样做:

fopen("myotherfile.txt", "rb");

在Objective-C中,我使用MethodSwizzling。我可以在C ++或android NDK中做类似的事情吗?

2 个答案:

答案 0 :(得分:0)

如果没有编辑二进制文件(结果不确定),最好的选择是使用符号链接...如果您只是为了开发目的,可以在测试设备中使用adb shell来创建符号链接。

http://developer.android.com/guide/developing/tools/adb.html#issuingcommands

答案 1 :(得分:0)

如何联系图书馆作者并要求他们介绍参数?拥有硬编码的文件路径无论如何都是一个糟糕的设计,图书馆将会更好。