当我在 Android Studio 项目中包含一个 c++ 文件时,代码被编译成一个 .so 文件并包含在发布 apk 文件的“lib”下。除此之外,c++ 中的函数是否看起来像 java 方法出现在 classes.dex
文件中的其他任何地方?
我的目标是确保 c++ 文件中的每个函数只出现在 .so 文件中。
最佳答案
是的,所有编译为 .so 文件的 C++ 类和函数都隐藏在其中。这些编译后的文件通过将它们放在 libs 文件夹中导入到您的项目中。
另一方面,您需要有 JNI 调用来桥接要由 Java 调用的 C++ 函数。这些方法是用 Java 端编写的,并编译为 dex(dalvik ex可执行)文件。
所有这些文件都打包为.APK 文件。它可能看起来像一个安装文件,但实际上是一个压缩文件。更有可能.zip
你的问题回答;您的代码仅在隐藏的 .so 和 .dex 文件中。
关于android - Android Studio 项目中的 C++ 代码是否最终出现在 apk 文件中(除了 .so 文件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43997426/