React-Native該把NDK路徑設定在哪? local.properties還是環境變數

上次沒紀錄會被搞得很亂,下次又得重找所以就紀錄在這裡

先說我目前系統是Ubuntu 20.04,Android Studio版本是Android Studio Arctic Fox | 2020.3.1 Patch 2
Build #AI-203.7717.56.2031.7678000, built on August 27, 2021

我有三個版本的NDK,都放置在路徑是在 /mnt/hdd2/Android/Ndk/ 底下

export ANDROID_SDK_ROOT=/mnt/hdd2/Android/Sdk

測試起來React-Native優先順序是

  • build.gradle 檔案
    在新gradle 7.0專案 build.gradle 內可以在android.ndkVersion設定NDK版本
    參考資料 https://developer.android.com/studio/projects/install-ndk
  • local.properties 檔案
    因為最後都是用 gradlew 所以編譯還是會套用android的找android/local.properties。
    android/local.properties 內容為
    ndk.dir=/mnt/hdd2/Android/Ndk/android-ndk-r23
    react-native info不會依據這個檔案顯示ndk版本
  • NDK_HOME 環境變數
    NDK_HOME 是設定用來搜尋各NDK版本的環境變數
    export NDK_HOME=/mnt/hdd2/Android/Ndk
    react-native info會抓取這個環境變數
  • ANDROID_NDK_HOME 環境變數
    ANDROID_NDK_HOME 是設定特定NDK版本的環境變數
    export ANDROID_NDK_HOME=/mnt/hdd2/Android/Ndk/android-ndk-r23
    react-native info會抓取這個環境變數
    在新gradle專案裡面會顯示這個環境變數未來會移除
    Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.
如果你沒有單獨下載NDK可以選擇使用Android Studio放置在SDK內的ndk-bundle
export ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk-bundle


留言