【问题标题】:Existing .so and .h files integration in android studioandroid studio中现有的.so和.h文件集成
【发布时间】:2019-05-21 07:13:07
【问题描述】:

我有一个共享库和一个头文件。 我在那里做了一个示例项目,我生成了 .so 和头文件,但现在我的问题是如何在 android studio 中导入现有的 .so 和 .h 文件。

我在谷歌搜索,但那里显示如何生成,但我想如何导入这些文件。请给我一些链接或任何其他示例

【问题讨论】:

  • 这取决于您如何构建从 java/kotlin 代码加载的共享库。如果您使用 cmake,您将添加预构建库 as a SHARED IMPORTED library。如果您使用的是 ndkBuild,您将使用 the PREBUILT_SHARED_LIBRARY rule。当然 .so 文件也应该使用 NDK 构建。
  • 查看 this answer 获取 cmake 示例。
  • 我正在使用 android make 我从 C 开发人员那里得到了那个库,我只是将该库粘贴到 myandroid src/libs 目录中

标签: android-ndk ndk-build


【解决方案1】:

但现在我的问题是如何在 android studio 中导入现有的 .so 和 .h 文件

通常,您应该将.so 文件放在jniLibs 中,该文件通常位于app/src/main/jniLibs,并将c/c++ 源代码放在app/src/main/cpp 中。请参见下面的目录结构。

.
├── CMakeLists.txt // Your cmake configuration files. 
├── app.iml
├── build
├── build.gradle
├── libs
├── proguard-rules.pro
└── src
    ├── androidTest
    │   └── java
    ├── main
    │   ├── AndroidManifest.xml
    │   ├── cpp // Directory to put your jni native source code. 
    │   │   └── native-lib.cpp
    │   ├── java
    │   ├── jniLibs // Directory to put your jni libs, i.e. the .so files. 
    │   └── res
    └── test
        └── java

见:https://stackoverflow.com/a/52048933/8034839

【讨论】:

  • 我按照你说的做了,接下来我应该做 ndk-build 或者直接运行应用程序。我应该把头文件放在哪里
猜你喜欢
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多