在Android Studio中与外部C++源代码一起使用NDK
Using NDK in Android Studio with outside C++ sources
到目前为止,我已经在Android Studio中尝试使用NDK,编写了Java Wrapper,生成了头文件,并在JNI文件夹中相应的c++文件中填充了一些函数。
我现在想做的是进行一个简单的构建,这样我就可以验证事情是否有效。我的项目依赖于位于我整个android项目之外的一些c++源文件。我是否以某种方式从Android中构建这些源文件?如何访问它们?格雷德尔有什么需要我做的吗?
我对跨多个来源构建项目非常陌生,所以我不知道该怎么办。如果问题没有意义,我深表歉意。非常感谢您的帮助(:
http://ph0b.com/android-studio-gradle-and-ndk-integration/
用户ph0b在NDK上有许多SO帖子。
阅读此人在subj(AS+NDK)上的各种帖子
IMO-你可以遵循策略'import NDK proj'从用于eclipse/NDK android项目和AS 0.8.+的src dirs将让你几乎所有的方法与正常的"文件/导入项目"对话框。
AS导入完成后,NDK内容将位于:
/root/module/src/main/jni
Java软件包将在
/root/module/src/main/java
验证导入到AS没有对您输入到导入过程的"Android.mk"文件进行自动更新,因为您需要它,而不是来自AS.的任何自动生成文件
在AS grade.build文件中。。。
确保
buildToolsVersion"19.1.0"
并根据前面的链接添加以下内容:
ndk {
moduleName "audioboo-ogg"
}
}
flavorDimensions "abi"
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
armv7 {
ndk {
abiFilter "armeabi-v7a"
}
}
}
sourceSets {
main {
jni.srcDirs = [] /*disable automatic ndk-build call */
}
}
task ndkBuild(type: Exec) {
commandLine '$NDK_HOME/android-ndk-r9[a-z]/ndk-build', '-C', file('src/main/jni').absolutePath
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
然后,您可以选择在jni文件夹中进行CLI NDK构建,或者只使用gradle集成构建,该构建将使用gradle文件中的"ndkBuild"任务。
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 为什么我不能将 rand() 与数组的大小一起使用?
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 将fold表达式与std::一起用于两个元组
- 难以理解某些人解决IOI问题的源代码
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 将 std::allocate_shared 与多态资源分配器一起使用
- 使用g++编译hdf5源代码
- 为什么常量词在重载运算符中不与 ostream 对象一起使用<<?
- 是否可以检索与柯南包管理器一起打包的库的源代码,以便在其中进行调试?
- 在Android Studio中与外部C++源代码一起使用NDK
- 如何设置eclipse与arm的源代码工具链一起工作