有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android Studio找不到双簧管头文件,但应用程序仍在运行

我正在尝试将双簧管本地库合并到我正在制作的DAW中。它似乎正在运行,应用程序运行起来似乎没有任何问题。问题是,Android Studio似乎无法从双簧管目录中找到标题。这导致我无法使用Android Studio中的许多功能,例如预测等。 看起来像这样(无法上载图像):

#include <jni.h>
#include <string>
#include <安卓/log.h>
#include <oboe/Oboe.h>

using namespace std;

extern "C" JNIEXPORT void JNICALL
Java_com_ralleq_nsynth_MainActivity_buildAudioStream(JNIEnv *env, jclass /* this */) {

    oboe::AudioStreamBuilder builder;
    oboe::AudioStream *stream = nullptr;
    oboe::Result result = builder.openStream(&stream);

    __安卓_log_print(ANDROID_LOG_VERBOSE, "NATIVE", "Didn't crash", 0);
}

除了每次我提到“双簧管”时,文字都会变红

将鼠标悬停在红色文本上会显示一个弹出窗口:“找不到‘双簧管’”。这很奇怪,因为该项目使用编写的代码编译和运行没有问题。 我认为这可能与Android Studio中未正确定义的路径有关。我曾尝试创建一个共享库,模仿双簧管存储库中给出的示例代码,并尝试将其实现为库,而不是CMakeList文件中的子目录,但最终返回到将我的项目文件夹中的git导入项目作为子目录引用

在makefile中实现双簧管:

set(OBOE_DIR /AndroidStudioProjects/oboe)
add_subdirectory(${OBOE_DIR} ./oboe)
include_directories(${OBOE_DIR} ./include)

target_link_libraries( # Specifies the target library.
        native-lib
        oboe
        log
        # Links the target library to the log library
        # included in the NDK.
        ${log-lib})
<>我注意到,在刷新C++项目时,添加了对库的引用,但我似乎无法达到它们。 我只是不明白,Android Studio怎么找不到标题

我一直在寻找其他有同样问题的人,但这一直是关于崩溃,而不是Android Studio软件本身的问题

提前感谢您的帮助

  • 拉斯姆斯

共 (2) 个答案

  1. # 1 楼答案

    这种事经常发生在我身上。这是令人沮丧的,我永远无法确切地找出原因是什么(除了明显的“索引器坏了”)然而,通常有一些事情可以解决它。以下是我在工作日的时间影响方面所做的尝试:

    1. 构建->;刷新链接C++项目
    2. 关闭项目,重新打开它
    3. 文件->;使缓存失效并重新启动
    4. 关闭Android Studio。删除~/Library/Caches/AndroidStudio中的“隐藏”缓存文件夹。重新开放Android Studio
    5. 检查Android Studio的新版本,如果可用,请更新当前版本
  2. # 2 楼答案

    很可能你的gradle脚本中没有预设声明

    buildFeatures {
            viewBinding true
            prefab true
        }
    

    还是格拉德尔酒店

    android.useAndroidX=true
    android.enableJetifier=true
    org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
    kotlin.code.style=official
    android.prefabVersion=1.0.+
    # Workaround bug in AGP where the prefab dependency is being resolved from a
    # non-Gradle thread when enableParallelJsonGen is enabled.
    # https://issuetracker.google.com/149575364
    android.enableParallelJsonGen=false
    android.buildFeatures.prefab = true