我使用 Android NDK r8 通过 include $(BUILD_STATIC_LIBRARY) 生成多个静态库,成功得到:lib1.a、lib2.a、lib3.a 等。
现在我想将这些静态库合并成一个。
我尝试使用 Android NDK 中的 ar.exe 进行合并:
android-ndk-r8\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\arm-linux-androideabi\bin\ar.exe r libALL.a lib1.a lib2.a lib3.a
但是当我在Android NDK makefile中使用libAll.a时,它会失败并显示没有索引。
如何添加这个索引?
其他问题:
当我显示存档libAll.a的内容时,我看到的是lib1.a,lib2.a和lib3.a,而不是这些库中的.o符号。
如何更改这个(从静态库中提取.o以将其合并到libAll.a中)?
谢谢。
ar x
提取所有目标文件,然后再使用ar rs
重新打包。但是,我不知道这是否会破坏一些路径。另外请参考 https://dev59.com/fm865IYBdhLWcg3wa980。 - Dan