打包安卓 为什么会输出2个文件夹native\engine和build\android,这2个文件夹区别是什么?为什么要分开2个

如题,
为什么要搞出一个native\engine文件夹?

如果我要打不同渠道的安卓包,十几个,最佳实践是什么?
为每一个安卓渠道复制一份工程出来,cocos 输出,再打开AS打包,感觉不是很科学。

native\engine 实际上并不是打包输出的,里面的内容属于工程代码,只是打包的时候发现没有就给你拷一个默认的实现,你可以修改成你要的内容,修改了以后,下次打包就会用里面的代码。相当于工程模版。

build/android 才是真正打包输出的工程,它可能会引用到这个工程模版里面的代码。

打不同渠道的包,最佳实践就是,差异文件夹替换 + 脚本调用命令行打包。以前我回帖里面有详细说的。


每个渠道复制一份native/engine/android 出来到差异文件夹里面,接不同的sdk即可。

脚本化以后,jenkins选择多个渠道,点一下,过一会包就全出来了。

可以学一下渠道出包,渠道一般都只要求你出个apk母包,然后他们就可以根据这个母包重签出各种渠道的包了

感谢回答。我的理解就是,为每个渠道,备份一份 native/engine/android 出来,打包的时候,就是用不同的渠道的 native/engine/android 覆盖上去,然后打包,是吧?

不行哦。简单的替换包名可以,但是如果有各种渠道的SDK,比如OPPO的广告SDK,vivo的广告SDK等,都是分别接入的,这方法就不行了吧