本帖最后由 Mike_python小 于 2023-8-4 04:57 编辑
回答:
将已有的 C++ 代码移植到 Android Studio 上可以通过以下步骤完成:
1. 在 Android Studio 中创建一个新的 C++ 项目:
- 打开 Android Studio,选择 "Start a new Android Studio project" 或者 "File -> New -> New Project"。
- 在项目创建向导中,选择 "Empty Activity" 或者其他适合的模板,并填写相应的项目信息。
- 点击 "Finish" 完成项目创建。
2. 将现有的 C++ 代码添加到 Android Studio 项目中:
- 打开 Android Studio 的项目视图,找到
cpp 文件夹(如果没有,请手动创建)并打开它。
- 将你的已有 C++ 源代码文件复制到
cpp 目录下。
- 在
cpp 目录下,创建一个名为
CMakeLists.txt 的文本文件,用于配置 C++ 构建选项和相关的库依赖。例如:
- make
- cmake_minimum_required(VERSION 3.4.1)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- add_library(native-lib SHARED native-lib.cpp)
- find_library(log-lib log)
- target_link_libraries(native-lib ${log-lib})
-
复制代码
3. 将 C++ 代码与 Java 代码进行交互:
- 在 Android Studio 中打开
app/src/main/java 目录下的 Java 类文件。
- 在 Java 类中添加 JNI 接口方法,用于与 C++ 代码进行交互。例如:
- java
- public class MainActivity extends AppCompatActivity {
- // ...
- public native String getStringFromCpp();
- static {
- System.loadLibrary("native-lib");
- }
- }
-
复制代码
- 在 C++ 代码中实现 JNI 接口方法。例如:
- #include <jni.h>
- #include <string>
- extern "C" JNIEXPORT jstring JNICALL
- Java_com_example_myapplication_MainActivity_getStringFromCpp(JNIEnv *env, jobject /* this */) {
- std::string hello = "Hello from C++";
- return env->NewStringUTF(hello.c_str());
- }
-
复制代码
4. 构建和运行项目:
- 点击 Android Studio 工具栏上的 "Sync Project with Gradle Files" 按钮,等待项目同步完成。
- 点击 "Build -> Build Bundle(s) / APK(s) -> Build APK(s)",Android Studio 将会构建你的项目,并生成 APK 文件。
- 在模拟器或真机上运行生成的 APK 文件,你应该能够看到 "Hello from C++" 的输出。
希望以上步骤可以帮助你成功将已有的 C++ 代码移植到 Android Studio 中。如果还有其他问题,请随时追问。