最近在尝试修改和编译ollvm源码,并且整合到Android Studio中碰到了一些坑,特在此记录。ollvm源码的下载与编译,网上随便都能搜到很多例子,这里不多记录。

在网上查找ollvm整合到ide中时,大部分适合于Eclipse + ADT中新建包含ollvm的toolchain,然后配置android工程中的android.mk和application.mk的例子,这个例子试成功过。然后只搜到一个关于Android Studio中合入ollvm的例子,那个例子中是用clang等编译文件替换,不过我的版本可能不太符合,并没有成功。

我使用的Android Studio中合入ollvm的方法是:1.找到AS所对应的ndk目录;2.打开toolchains目录,将llvm目录命名为llvm-bak,然后新建llvm文件夹,新建prebuilt\windows-x86_64目录(Linux系统是prebuilt\linux-x86_64),把ollvm中编译好的内容目录(包含bin和lib目录)全部拷到新建的**-x86-64目录中,然后新建 AS 包含C++安卓工程,编译时使用的llvm便是替换的ollvm。至于使用ollvm的三种混淆方式,int func() __attribute((__annotate__(("bcf"))));int func() __attribute((__annotate__(("sub"))));int func() __attribute((__annotate__(("fla"))));来指定。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐