【发布时间】:2017-04-25 19:10:33
【问题描述】:
在 NDK 10 版本中,我曾经使用 ndk-build 为许多不同的 ABI 和多个 API 级别编译独立的二进制文件。这些二进制文件将包含在应用程序中。然而,我在一台新的开发机器上安装了 NDK 为described in this article。这导致我的 Android SDK 目录中有一个文件夹 ndk-bundle。我曾经从命令行编译代码,然后将二进制文件复制到我的 Android Studio 项目的资源中,但我不知道如何使用 NDK 13 执行此操作,因此我尝试关注 the tutorial to include my native code in the Android Studio project。然而,几乎所有最近的指令都假设一个人想要构建一个库,而不是一个独立的二进制文件,所以我没有走多远。
如果我知道如何让它工作,我会切换到 CMake。我的原生项目具有以下(简化的)结构:
-
原生
-
Android.mk
LOCAL_PATH := $(call my-dir)/my_tool/src include $(CLEAR_VARS) LOCAL_MODULE := my_tool LOCAL_SRC_FILES := main.c include $(BUILD_EXECUTABLE) -
应用程序.mk
APP_ABI := all APP_PLATFORM := android-21 -
我的工具
- 源
- main.c
- 源
-
如何在我们的 Windows 10 开发机器上使用 Android Studio 或 NDK 从命令行编译它?
编辑:
我在 build.gradle 中使用它:
externalNativeBuild {
ndkBuild {
path "../native/Android.mk"
}
}
Gradle 创建了一个目录.externalNativeBuild,其中包含构建配置,但我不知道如何实际构建本机代码。运行 gradle 时不会创建任何二进制文件。
我找不到关于ndk-build 的 gradle 配置的任何信息。
【问题讨论】:
-
Building executables for Android shell(包括
ndk-build和CMake)。
标签: android android-studio android-ndk native ndk-build