问题
为何在使用Cmake编译JNI文件的时候,运行的时候,只会生成arm64-v8a
架构的So打入Apk中,而并不会生成所有架构,如x86
,mips
等。
只有arm64-v8a架构的so
但是在make Module
的时候,却会生成所有架构的So。
所有架构的so
环境
- 在
Cmakelists.txt
中添加如下代码,设置链接库的输出路径:
# 设置Library的输出路径
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/jniLibs/${ANDROID_ABI})
- Cmake版本 3.6.0-rc2
- Gradle Wrapper版本 5.1.1
- Gradle版本 3.4.0-rc02
测试
如果是先Make Module
,生成出来各个架构的So,然后再Run App
,则能把So打进Apk中。
先Make,再Run
如果直接Run App
,则只有arm64-v8a
架构的so
直接Run
原因
待解决...