zoukankan      html  css  js  c++  java
  • 解决Android Studio 2.2.3中添加.cpp .h文件在Project->Android无法显示,无法正常编译问题。

    搭配使用 Android Studio 2.2 或更高版本与 Android Plugin for Gradle 版本 2.2.0 或更高版本时,您可以将 C 和 C++ 代码编译到 Gradle 与 APK 一起封装的原生库中,将这类代码添加到您的应用中。您的 Java 代码随后可以通过 Java 原生接口 (JNI) 调用您的原生库中的函数。如果您想要详细了解如何使用 JNI 框架,请阅读 Android 的 JNI 提示。

    按照官网:
    https://developer.android.com/studio/projects/add-native-code.html?hl=zh-cn
    给的提示更新as后添加编译cpp的确容易了很多。但是不巧的是我这不知为何添加了新的cpp后无法正常加入到工程进而编译。表现为在IDE 左侧打开 Project 窗格并选择 Android 视图无法看到新加入的cpp

    添加.cpp .h等文件
    添加.cpp .h等文件
    无法显示
    无法显示
    这里写图片描述

    这里写图片描述
    只有as默认生成的cpp,在native-lib.cpp中使用新加的类后编译的时候也提示无法找到相应的类。可见gradle是没有识别到这些新添加的文件。

    怎么解决呢?我重启as,重启电脑,重新安装as都没有用于是继续寻找官网以找解决问题的方案,google好久也没有答案,于是决定自己解决吧。

    这段文字给了我提示:
    这里写图片描述

    于是乎我去CMakeLists.txt文件中查看是否添加了新的文件 ,果然没有。于是查找cmake官网:

    https://cmake.org/documentation/
    https://cmake.org/cmake/help/v3.4/manual/cmake-buildsystem.7.html

    这里写图片描述
    注意 as对应的cmake版本
    这里写图片描述
    上图是截取自工程中自动生成的CMakeLists.txt文件。

    ok 于是自己手动添加一下新的文件
    这里写图片描述

    之后点击一下IDE中的提示按键:
    这里写图片描述
    终于:
    这里写图片描述
    问题解决。

    总结
    1.发现问题查看编译这些模块的原理。
    2.查找对应版本的cmake语法,正确修改CMakeLists.txt文件。
    3.根据IDE提示Sync Now。

  • 相关阅读:
    Pick-up sticks
    The Doors
    Intersecting Lines
    Segments
    TOYS
    Palindrome
    Distinct Substrings
    Milk Patterns
    Musical Theme
    JavaScript基于时间的动画算法
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/6807952.html
Copyright © 2011-2022 走看看