|
发表于 2023-8-4 01:45:08
|
显示全部楼层
要将已有的C++代码移植到Android Studio上,您可以按照以下步骤操作:
1. 在Android Studio中创建一个新的C++项目。您已经完成了这一步,能够成功运行显示"Hello From C++"。
2. 将您的C++源代码文件复制到Android Studio项目的 app/src/main/cpp 目录下。
3. 在 app/src/main/cpp 目录下创建一个名为 CMakeLists.txt 的文件,用于配置C++编译。
4. 打开 CMakeLists.txt 文件,并添加以下内容:
- cmake_minimum_required(VERSION 3.4.1)
- # 添加您的源代码文件
- add_library( # 设置库的名称
- native-lib
- # 设置库的类型为共享库
- SHARED
- # 添加您的源代码文件
- src/main/cpp/your_source_file.cpp )
- # 链接要使用的库
- target_link_libraries( # 指定要链接的库
- native-lib )
复制代码
请将 your_source_file.cpp 替换为您的源代码文件的实际名称。
5. 在 app/src/main/cpp 目录下创建一个名为 native-lib.cpp 的文件,用于实现JNI接口。
- #include <jni.h>
- extern "C" JNIEXPORT jstring JNICALL
- Java_com_example_your_package_name_MainActivity_stringFromJNI(
- JNIEnv* env,
- jobject /* this */) {
- std::string hello = "Hello from C++";
- return env->NewStringUTF(hello.c_str());
- }
复制代码
请将 com_example_your_package_name 替换为您的应用程序的包名。
6. 在 MainActivity.java 中添加以下代码,以调用JNI接口并显示C++代码的输出结果。
- public class MainActivity extends AppCompatActivity {
- // 加载本地库
- static {
- System.loadLibrary("native-lib");
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // 调用JNI接口
- TextView tv = findViewById(R.id.sample_text);
- tv.setText(stringFromJNI());
- }
- // 声明JNI接口
- public native String stringFromJNI();
- }
复制代码
7. 构建并运行您的Android应用程序。现在,您的C++代码应该已经成功移植到Android Studio上,并且应用程序应该能够正常运行并显示从C++代码返回的字符串。
请注意,移植C++代码到Android Studio可能会涉及到其他依赖项和配置,具体取决于您的代码和项目要求。以上步骤提供了一个基本的框架,您可能需要根据您的实际情况进行调整。 |
|