如何确定Android中刚修改后的c/c++是否编译成功

在Android系统源码上开发有时候会遇到一些问题,比如加入新代码或修改了一些代码后运行发现新加入的代码不启作用。这时可能要查一下原因,有时是因为Android编译环境配置存在问题,就会出现上述情况(有一次加入了自己的代码,但是没有在项目目录下加入Android.mk,最后只能把out目录全部删除掉才能编译出来). 

下面就有一个快速的方法来判断自己的代码有没有编译出来。


Android系统编译完后所有编译过程中生成的相关文件都存在out目录下, 一些c/c++一般都在out/target/product/generic/obj/SHARE_LIBRARY 或 out/target/product/generic/obj/STATIC_LIBRARY目录下。 由其是动态库, 我们可以进入动态库的目录下有一个LINKER文件夹,这里边就是编译完后成生的动态库文件,这个文件是可以反汇编的,我们可把它反汇编出来,然后在里边查找一下我们新加入的内容。如果找到了,说明文件已生成成功,很可能是其它问题。如果没有找到新加的代码,很有可能是Android配置问题导致make失败。



反汇编的方法很简单:

     cd <....>/LINKER

     arm-eabi-objdump -dS  <so_name>   > so.dump

     vim so.dump

     ...

Android Studio中正确配置C/C++环境主要涉及以下几个步骤: 1. 安装NDK和CMake:首先确保你的Android Studio安装了NDK(Native Development Kit)和CMake工具。这些工具可以让你在Android项目中使用C和C++代码。通常在安装Android Studio时会一起安装,也可以在设置中手动安装或更新。 2. 创建或修改CMakeLists.txt文件:在项目的根目录下创建或修改`CMakeLists.txt`文件,这个文件用于定义如何构建你的原生库。它指定了哪些源文件被编译成库文件,以及库文件如何与项目其他部分链接。 3. 在build.gradle文件中配置:需要在`app`模块的`build.gradle`文件中启用C++支持,并指定CMakeLists.txt文件的位置。示例如下: ```groovy android { ... defaultConfig { ... externalNativeBuild { cmake { cppFlags "" } } } externalNativeBuild { cmake { path "CMakeLists.txt" } } } ``` 4. 编写C/C++代码:将你的C/C++源代码文件放入项目中的合适位置,通常是`app/src/main/cpp/`文件夹下。 5. 构建项目:使用Android Studio的构建系统来编译你的原生代码。你可以直接点击Android Studio工具栏上的“Build”菜单中的“Make Project”选项,或者使用Gradle命令行工具进行构建。 6. 集成到Android代码:在你的Java或Kotlin代码中使用`System.loadLibrary()`方法加载你编译好的原生库,然后就可以调用其中的原生方法了。 7. 测试和调试:运行你的应用程序并确保C/C++代码按预期工作。你可以使用Android Studio的调试工具来调试原生代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值