请问如何提前编译好c++,节省打包时的编译时间呢?

Android studio在打包的时候,需要先编译一遍c++,每次新同事入职,换电脑,clean工程,亦或是其他什么原因,就得来这么一下,浪费时间。

c++又不会天天改

我了解到有些公司会先把c++编译成so,然后再放进Android工程里,照这个思路我查也了一些文章,零零碎碎的不成系统,我看着一脸懵逼。

所以想请教在座的各位大佬,希望能给推荐些文章帖子啥的,要是能直接给我教会了也行。

不胜感激!

这个可以参考下第三方SDK文档怎么去用so,比如bugly

so是native动态库,由于so是根据指令集编译,不同架构分要准备不同的so库,
比如要让arm64设备兼容,则需要把对应的so放在proj/app/libs/arm64下面

获取的so方式比较简单,可以去ndk构建后的目录中找,也可以先完整release build一次,apk解压即可找到。

由于你的目的是不希望每次执行ndk编译,所以还要把app/build.gradle里面关于 ndk/cmake 编译的部分注释掉,这样下次构建就不会再编译

用NDK命令单独编译C++成SO文件放到libs下面
D:/NDKR16D/NDK-BUILD -C …/RunTime-SRC/PROJ.ANDROID/App/ NDK_DEBUG=1 -j12
然后用 CMD=JAVA_EXE+" -Dorg.gradle.appname=gradlew -classpath “+CLASSPATH+” org.gradle.wrapper.GradleWrapperMain "+“assemble”+BMDesc[BuildMode]
命令编译Android即可

编译Android的时候把gradle里面NDK的部分注释掉

image
编译C++的时候要打开

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。