將 C++程式移植到 Android 平臺

玥茹苟發表於2024-12-06

將 C++ 程式移植到 Android 平臺

將 C++ 程式移植到 Android 平臺需要多個步驟,涉及 Android NDK(Native Development Kit)和 Android Studio。下面是詳細的步驟指導:

1. 環境準備
安裝 Android Studio:確保你的開發環境中安裝了 Android Studio,這是開發 Android 應用的主流 IDE。
下載 Android NDK:在 Android Studio 中,前往 SDK Manager,選擇 “SDK Tools” 標籤,勾選 “NDK (Side by side)” 並安裝。
2. 建立一個新的 Android 專案
在 Android Studio 中,選擇 File > New > New Project。
選擇一個模板,例如 Empty Activity。
設定專案名稱、包名和其他資訊。
完成專案建立。
3. 配置 CMake
Android Studio 支援使用 CMake 構建 C++ 程式碼。你可以透過以下步驟配置:

在專案中的根目錄下建立一個 CMakeLists.txt 檔案。這是 CMake 的配置檔案。
cmake_minimum_required(VERSION 3.4.1)

# 新增你的 C++ 原始檔
add_library(my_native_lib SHARED
            src/main/cpp/my_native_code.cpp)

# 找到需要連結的庫
find_library(log-lib log)
target_link_libraries(my_native_lib ${log-lib})
如果你有多個原始檔,可以在 add_library 中列舉它們,或使用萬用字元。
4. 建立 JNI 介面
在你的 C++ 程式碼中使用 JNI(Java Native Interface)來將 C++ 函式暴露給 Java 層。

// my_native_code.cpp
#include <jni.h>
#include <string>

extern "C"
JNIEXPORT jstring JNICALL
Java_com_example_myapp_MainActivity_stringFromJNI(JNIEnv *env, jobject /* this */) {
    return env->NewStringUTF("Hello from C++");
}
5. 修改 Java 程式碼以呼叫 C++ 函式
在你的 Android 專案的 MainActivity.java 檔案中,載入 C++ 庫並呼叫 native 方法:

package com.example.myapp;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    static {
        System.loadLibrary("my_native_lib");
    }
    
    public native String stringFromJNI();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TextView textView = findViewById(R.id.sample_text);
        textView.setText(stringFromJNI());
    }
}
6. 配置 build.gradle 檔案
確保你的 app/build.gradle 檔案中啟用了 CMake:

android {
    ...
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
    ...
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.0.2'
    // 其他依賴項
}
7. 編譯和執行
點選 Android Studio 中的 Run 按鈕編譯並執行你的應用。
若一切配置正確,你應該能看到 C++ 中的字串在 UI 上顯示。
8. 除錯和最佳化
使用 Android Studio 提供的除錯工具進行除錯。
監測應用的效能和資源使用,以確保在 Android 裝置上有效執行。
注意事項
根據你的 C++ 程式的複雜性,可能需要額外處理依賴項。
配置不同的 API 和裝置可能需要特別的注意。
透過這些步驟,你應該能將 C++ 程式移植到 Android 上並順利執行。如有進一步的問題,可以具體詢問。

相關文章