简单的hello.c的Android.mk的方法
时间: 2024-02-19 10:57:29 浏览: 44
下面是一个简单的 `hello.c` 的 Android.mk 文件示例:
```makefile
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c
include $(BUILD_EXECUTABLE)
```
其中,`LOCAL_MODULE` 为生成的可执行文件名,`LOCAL_SRC_FILES` 为需要编译的源代码文件名。
在命令行中进入 Android.mk 文件所在目录,执行 `ndk-build` 命令即可编译生成可执行文件。
注意:这里使用的是 `BUILD_EXECUTABLE`,如果需要生成共享库,可以使用 `BUILD_SHARED_LIBRARY`。
相关问题
android.mk注释
Android.mk文件是Android系统中的一个Makefile文件,主要用于构建Android应用程序和库。在Android.mk文件中可以使用注释来解释代码和提供文档信息,注释以‘#’符号开始。
Android.mk文件的注释可以分为两类:
1. 行注释
行注释以‘#’符号开始,直到行末结束。行注释通常用于解释一行代码或提供简短的说明。
例如:
# 定义变量
LOCAL_SRC_FILES := hello.c world.c
2. 块注释
块注释以‘/*’符号开始,以‘*/’符号结束。块注释可以跨越多行,通常用于提供详细的文档信息。
例如:
/*
* LOCAL_SRC_FILES变量指定源文件列表,可以包含多个文件。
* 每个源文件都必须是.c或.cpp文件。
*/
LOCAL_SRC_FILES := hello.c world.c
通过添加注释,可以使Android.mk文件更易读和维护。同时,注释也可以提供有用的信息,例如变量的用途、函数的作用等,使代码更易于理解。
Android Studio使用Android.mk编译so库
以下是使用Android.mk编译so库的步骤:
1. 在项目的根目录下创建一个名为jni的文件夹,并在其中创建一个名为Android.mk的文件。
2. 在Android.mk文件中,指定要编译的源文件和生成的库文件名。例如,如果你要编译名为hello.c的源文件,并将生成的库文件命名为libhello.so,则可以使用以下代码:
```makefile
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c
include $(BUILD_SHARED_LIBRARY)
```
3. 在项目的根目录下创建一个名为Application.mk的文件,并在其中指定要使用的NDK版本和CPU架构。例如,如果你要使用NDK版本r16b,并支持armeabi-v7a和arm64-v8a架构,则可以使用以下代码:
```makefile
APP_PLATFORM := android-16
APP_ABI := armeabi-v7a arm64-v8a
```
4. 在项目的build.gradle文件中,添加以下代码以指定要使用的NDK版本和要编译的架构:
```gradle
android {
// ...
externalNativeBuild {
ndkBuild {
path 'jni/Android.mk'
}
}
defaultConfig {
// ...
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
```
5. 在Android Studio的Terminal中,使用cd命令进入到jni目录,并执行以下命令来编译so库:
```shell
$ cd jni
$ ndk-build
```
6. 编译完成后,生成的so库文件将位于jni目录下的libs文件夹中。将其复制到app/src/main/jniLibs目录下即可。