当前位置: 首页 > news >正文

Android 最简单的native二进制程序

Android.bp

cc_binary {name: "my_native_bin",srcs: ["main.cpp"],cflags: ["-Wall",          // 启用标准警告"-Werror",        // 将警告视为错误"-fPIE",          // 生成位置无关代码"-pie",           // 链接为位置无关可执行文件],shared_libs: ["liblog"], // 依赖库stl: "c++_static",       // 静态链接 C++ 标准库
}

main.cpp

#include <stdio.h>
#include <android/log.h>  // 需链接liblogint main() {printf("Hello from Native!\n");__android_log_print(ANDROID_LOG_INFO, "MyApp", "Log from NDK");return 0;
}

执行

adb push out/target/product/crosshatch/system/bin/my_native_bin system/bin/
adb shell
./my_native_bin                                                                                                                                                                                       
Hello from Native!
adb logcat -b all|grep MyApp
04-21 17:11:52.510 23304 23304 I MyApp   : Log from NDK

总结

可以在最简单的Native二进制程序里面实现更复杂的逻辑,加深对Android组件的理解。

http://www.dtcms.com/a/146490.html

相关文章:

  • 安卓垂直进度条
  • 青少年编程与数学 02-018 C++数据结构与算法 01课题、算法
  • Android RK356X TVSettings USB调试开关
  • 深入了解 WebGIS 系统:构建地理空间信息的网络桥梁
  • “具身智能”爆火 它会带来什么改变?
  • Cursor 配置中文界面并设置浅色背景的方法
  • 语音合成(TTS)从零搭建一个完整的TTS系统-第二节-文本归一化
  • 《Android 应用开发基础教程》——第五章:RecyclerView 列表视图与适配器机制
  • esp32c3 c2如何进入下载模式
  • MCU开发学习记录10 - 高级定时器学习与实践(HAL库)—PWM互补输出、死区控制、刹车控制 - STM32CubeMX
  • Linux Wlan-四次握手(eapol)框架流程
  • CSS预处理工具有哪些?分享主流产品
  • 第二章 Logback的架构(一)
  • eBay自动化定价陷阱调查:价格战背后的利润黑洞与破局之道
  • Oracle expdp的 EXCLUDE 参数详解
  • 如何在LangChain中构建并使用自定义向量数据库
  • 操作指南:在vue-fastapi-admin上增加新的功能模块
  • Qwen-Chat与谷歌Veo2在免费AI视频方面对比
  • Unity3D ILRuntime与Scripting Backend整合指南
  • C++学习之游戏服务器开发十一DOCKER的基本使用
  • 从service 到 JobIntentService 和 WorkManager
  • 香港电讯荣膺“卓越互联网接入服务提供商”奖项,赋能中国汽车产业数字化转型
  • Linux环境准备(安装VirtualBox和Ubuntu,安装MySQL,MySQL启动、重启和停止)
  • KUKA机器人不同的安装方式的设置
  • LeetCode面试经典 150 题(Java题解)
  • C++ vector 核心功能解析与实现
  • TOGAF 敏捷冲刺:15 天 Scrum 冲刺实践
  • 新能源汽车零部件功率级测试方案搭建研究
  • STM32F103_HAL库+寄存器学习笔记19 - CAN发送中断+CAN接收中断+接收所有CAN报文+ringbuffer数据结构
  • 1.Vue3 - 创建Vue3工程