2017-10-29 4 views
1

React Native on Androidには、.soファイルにコンパイルされるC/C++コードがいくつかあります。どのようにそれらの.soファイルをビルドできますか?私はそれがhttps://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/jni/Application.mkと関係があると思う。あなたができる、より正式な手順について:React NativeのAndroid jniライブラリを生成する方法

NDK_PROJECT_PATH=node_modules/react-native/ReactAndroid/src/main $ANDROID_HOME/ndk-bundle/ndk-build 

しかし、私はエラーを取得:

Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: Android.mk 
+0

「ndk-build -Cnode_modules/react-native/ReactAndroid/src/main'」を試してください –

答えて

1

UPDATEを

私は、プロジェクトのルートから、以下の新リアクトネイティブプロジェクトを作成し、実行してみましたReact Nativeのbuilding from sourceの手順に従ってください。ソースからビルドすると、それらの.soファイルを構築するbuildReactNdkLib Gradleタスクが実行されます。


私はこれらの.soファイルを生成する方法を考え出し:buildReactNdkLibタスクを持っている私は、このbuild.gradle fileを見つけたリアクトネイティブソースコードで

  1. を。
  2. 私は、私の場合にあった、それが実行するコマンドをキャプチャ:

    ~/Library/Android/sdk/ndk-bundle/ndk-build NDK_PROJECT_PATH=null NDK_APPLICATION_MK=~/.../react-native/ReactAndroid/src/main/jni/Application.mk NDK_OUT=~/.../react-native/ReactAndroid/build/tmp/buildReactNdkLib NDK_LIBS_OUT=~/.../react-native/ReactAndroid/build/react-ndk/all THIRD_PARTY_NDK_DIR=~/.../react-native/ReactAndroid/build/third-party-ndk REACT_COMMON_DIR=~/.../react-native/ReactAndroid/../ReactCommon -C ~/.../react-native/ReactAndroid/src/main/jni/react/jni --jobs 4 
    
  3. 反応ネイティブするレポをパスして上記のコマンドで~/.../react-nativeを交換してください。

  4. 私はAndroid NDK: Module reactnativejni depends on undefined modules: fbjni~/Library/Android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++: Command not foundのようなエラーを受けていました。修正するには、古いバージョンのNDKに切り替える必要がありました。
    1. Android NDK、Revision 10e(2015年5月)をhereからダウンロードして抽出します。
    2. 上記のコマンド内のパス~/Library/Android/sdk/ndk-bundle/ndk-buildを、抽出したフォルダのndk-buildファイルに変更します。
  5. 生成された.soファイルはreact-native/ReactAndroid/build/react-ndk/allになります。
関連する問題