不需要application.mk吗
时间: 2023-07-29 15:07:41 浏览: 36
在Android Studio 2.2及以上版本中,可以不需要使用 `Application.mk` 文件,只需要使用 `CMakeLists.txt` 文件进行配置即可。
在 `CMakeLists.txt` 文件中,可以使用以下方式指定编译选项:
```
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fexceptions")
```
其中,`CMAKE_CXX_FLAGS` 是编译选项,`-std=c++11` 表示使用 C++11 标准进行编译,`-fexceptions` 表示开启异常处理。可以根据需要添加其他编译选项。
相关问题
如果指定application.mk
如果您想指定一个Application.mk文件,以便在编译SO文件时自定义一些编译选项,可以按照以下步骤操作:
1. 在NDK的安装目录下创建一个名为myproject的新文件夹,然后将您的源文件(例如,MySourceFile.c)复制到该文件夹中。
2. 在myproject文件夹中创建一个名为Application.mk的文件,并添加您需要的编译选项。例如,以下是一个简单的Application.mk文件:
```
APP_ABI := armeabi-v7a
APP_PLATFORM := android-19
APP_STL := c++_shared
```
其中,APP_ABI指定了您要编译的目标架构,APP_PLATFORM指定了您使用的Android平台版本,APP_STL指定了您要使用的C++库。
3. 在终端窗口中导航到myproject文件夹。
4. 运行以下命令:
```
<path-to-ndk>/ndk-build
```
其中,`<path-to-ndk>`指向您安装的NDK的路径。
5. 该命令将自动查找并编译您的源文件,并生成一个名为libMySourceFile.so的SO文件。该文件将保存在myproject/libs/armeabi-v7a目录中,其中armeabi-v7a是您指定的目标架构。
希望这个示例可以帮助您指定Application.mk文件并生成SO文件。
ndk-build 怎么写 Application.mk
在使用 ndk-build 编译 C/C++ 代码时,Application.mk 文件用于配置编译选项和参数。你可以按照以下步骤来编写 Application.mk 文件:
1. 创建一个名为 jni 的文件夹,用于存放您的 C/C++ 代码和相关文件。
2. 在 jni 文件夹中创建一个名为 Application.mk 的文件。
3. 打开 Application.mk 文件,并添加以下内容:
```
APP_ABI := all
APP_PLATFORM := android-21
APP_STL := c++_static
```
这些参数的含义如下:
- APP_ABI:指定要编译的 ABI,多个 ABI 之间用空格隔开。如果使用 all,则会编译所有可用的 ABI。
- APP_PLATFORM:指定使用的 Android 平台版本。
- APP_STL:指定使用的 C++ STL 库。在这个例子中,我们选择使用静态库。
4. 保存 Application.mk 文件,并在 jni 文件夹中编写你的 C/C++ 代码。
5. 在终端中进入 jni 文件夹,并运行以下命令:
```
ndk-build
```
这会使用 Application.mk 文件中的配置来编译您的代码。