利用Android Studio编译Android上可直接执行的二进制

NDK环境搭建起来挺费劲,既然Android Studio作为一个IDE集成了NDK,可以编译出so供Java层调用native代码,那能不能使用它来编译可执行的二进制呢?答案是当然可以了,而且挺方便的。

具体步骤:

  1. 创建一个C++工程
  1. 在cpp目录下新建一个文件
  1. 在新创建的native-hello.cpp文件里面编写要编译的二进制对应的代码
cpp 复制代码
#include <stdio.h>

int main()
{
    printf("hello native\n");
    return 0;
}
  1. 修改cpp文件同级的CMakeLists.txt文件,在里面加上下面这一段
bash 复制代码
add_executable(native-hello
        native-hello.cpp)
  1. 进行编译构建,构建成功后,会在(Project Files){项目名称}/app/build/intermediates/cxx/Debug/xxxxxxxx/obj/{CPU架构}/目录下生成对应的二进制文件native-hello
  1. 将该二进制推送到Android设备上,添加权限后,便可以执行。
相关推荐
传奇开心果编程1 小时前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack
>Andre<2 小时前
UFS5.0标准中文全译·卷一:范围、术语与架构
android·linux·嵌入式硬件
事圆则缓3 小时前
Java 8 Lambda、Stream、Optional 与 Android 边界:从回调语法到运行时兼容
android·java
mmsx3 小时前
Android 地图十万要素不卡顿:空间网格 + 渐进式加载的移动端实践
android·大数据·opengl
Godikov4 小时前
Android 工业终端保活实战:前台服务 + 开机自启 + 更新自启的三重保障
android
字节暗面4 小时前
SO加固强度怎么量化?腾讯ACE与FairGuard静态分析实测
android·逆向
终端安全笔记6 小时前
描述文件、企业证书、MDM 不是三个名字,是三层
android·ios·智能手机
字节暗面6 小时前
一次游戏安全SO静态分析记录:腾讯ACE与FairGuard加固强度对比
android·逆向工程·游戏加固
传奇开心果编程7 小时前
【Jetpack Compose基础语法学与练】第9课 SideEffect副作用 + LaunchedEffect,处理异步任务和生命周期
android·学习·ui·kotlin·android jetpack
2401_833269309 小时前
RecyclerView多布局详解
android