我是一名 Android NDK 开发人员,也是 macOS 的新手,我之前在 Ubuntu 上使用过 Android Studio,它运行良好。现在我使用 macOS,当我尝试打开定义的 c 或 cpp 文件时发现JNI 方法,我的 Android Studio 会卡住,至少要等 5 分钟,你知道,这个项目很大,但我用 Ubuntu 不会花太多时间。即使打开成功,当我保持打开状态,Android Studio 变得非常难用,有时我什至无法打字!有时当我打开那个文件时,Android Studio 只是没有响应,我不得不强行退出它。
无论如何,我认为我的问题与 Android studio 的 c/cpp 文件支持有关,有这方面经验的人可以帮助我吗?非常感谢!
不知道是不是和JNI方法的声明有关,我同事写的,用了宏:
#define JNI_METHOD(return_type, method_name)
JNIEXPORT return_type JNICALL
Java_com_example_sometype_ClassName_##method_name
// and use it like this way
JNI_METHOD(jlong, nativeMethod)(
JNIEnv *env, jobject instance) {
// ...
}
系统和软件信息:
Android Studio 2.2.2 Build #AI-145.3360264, built on October 18, 2016 JRE: 1.8.0_112-release-b05 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
mac OS Sierra Version 10.12
NDK 构建:
我使用 Android.mk 构建我的项目,并将其添加到 build.gradle 中:
externalNativeBuild {
ndkBuild {
path 'jni/Android.mk'
}
}
编辑 2016-10-27 :
我发现了一些东西:
我有一个包含 53025 行的大头文件。当 Android Studio 打开包含此头文件的任何文件时,它会卡住。我认为这是原因,但我仍然不知道如何解决这个问题。
最佳答案
我会自己回答我的问题。
这是事实
I found something:
I have a large header file which has 53025 lines. When Android Studio open any file included this header file, it will stuck. I think it is reason but I still don't know how to solve this problem.
这个头文件是根本原因,我创建一个源文件来保存这个数据,在头文件中声明变量。
关于Android Studio 在进行 NDK 开发时卡在 macOS 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40218121/