password
comment
type
status
date
slug
summary
tags
category
icon
AI custom autofill
MacOS连接开发板
开发板连接:USB+网线
进入开发板开发环境
可以看出这是32位的开发板
共享网络
检查Mac中的网线网口在哪里:
插拔网线,两次使用该命令,找出wifi与网卡的网口具体位置,然后手动设置为指定的静态ip,方便与开发板连接。
然后设置开发板的静态ip,先进入adb shell。然后
创建MacOS的/etc/exports
安装编译程序
具体操作忘记了,应该是安装一个兼容M4芯片,并且自带相关依赖库的gcc。在安装时,还需注意环境变量中路径的设置,不一定会安装在默认的路径下
但是Mac并没有能支持32位开发板的编译环境,也就是说编译出的可执行文件仅能在64位系统中使用,因此放弃该操作。
Docker
创建了一个lab5_20251122镜像,ubuntu22.04
第4步 — 创建 Android 项目(命令行版,完整文件与目录)
在容器里执行(逐步说明):
下面我们建立一个非常小的 NDK 示例工程结构:
1) hello-jni.c(JNI C 实现)
在
jni/hello-jni.c 写入:说明:
- JNI 的函数签名
Java_com_example_helloworld_MainActivity_stringFromJNI必须与 Java 中com.example.helloworld.MainActivity的包名与方法名对应(下划线替代点号)。
- 返回
jstring给 Java 层。
2) jni/Android.mk 和 jni/Application.mk
jni/Android.mk:jni/Application.mk(控制 ABI 和 platform):说明:
APP_ABI决定生成的 so 在libs/<ABI>/libhelloworld.so中。例如arm64-v8a对应 64-bit ARM。若目标设备是 32-bit,改成armeabi-v7a。
APP_PLATFORM决定编译时 linking 的 Android API level(NDK 支持的最低平台)。
3) Java 源:src/com/example/helloworld/MainActivity.java
说明:
System.loadLibrary("helloworld")会加载libhelloworld.so(去掉lib前缀和.so后缀)。
- 包名
com.example.helloworld与 JNI 名称前缀要一致。
4) AndroidManifest.xml(最小化)
说明:
uses-sdk里的minSdkVersion应与 NDK 的APP_PLATFORM相匹配(上例二者为 21)。
package决定 APK 的包名(安装后adb shell pm list packages可看到)。
5) 资源目录(res/)
即便没有任何资源,也最好创建一个空文件夹:
- 作者:Gintmr
- 链接:https://gintmr.20250130.xyz//article/2b3af1ce-0c90-80e0-87a0-d4b0951f5779
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






