⚠️ The project is no longer being actively maintained by Janea Systems.
Forks of the repos have been created on a dedicated Github org to allow community-driven development to continue:
https://github.com/nodejs-mobile
This is the main repository for Node.js for Mobile Apps, a toolkit for integrating Node.js into mobile applications.
This is the central repository for reporting all issues related to the Node.js for Mobile Apps project, including issues pertaining to the React Native and Cordova plugins.
The core library source code is in this repo. If you are looking for the source code for the plugins, you can find it at:
Binaries for Android and iOS are available at https://github.com/janeasystems/nodejs-mobile/releases.
Documentation can be found on the project website. Sample code is available in the samples repo.
Disclaimer: documentation found in this repository is currently unchanged from the parent repository and may only be applicable to upstream node.
Prerequisites to build the Android library on Linux Ubuntu/Debian:sudo apt-get install -y build-essential git pythonInstall curl and unzip (needed to download the Android NDK):
sudo apt-get install -y curl unzipInstall Android NDK r21b for Linux:
Choose a location where you want to install the Android NDK and run:
curl https://dl.google.com/android/repository/android-ndk-r21b-linux-x86_64.zip -o ndk.zip unzip ndk.zip
It will create a android-ndk-r21b
folder. Save that path for later.
Run git
in a terminal window, it will show a prompt to install it if not already present. As an alternative, installing one of these will install git
:
Choose a location where you want to install the Android NDK and run:
curl https://dl.google.com/android/repository/android-ndk-r21b-darwin-x86_64.zip -o ndk.zip unzip ndk.zip
It will create a android-ndk-r21b
folder. Save that path for later.
mobile-master
branch:
git clone https://github.com/janeasystems/nodejs-mobile cd nodejs-mobile git checkout mobile-master2a) Using the Android helper script:
The tools/android_build.sh
script takes as first argument the Android NDK path (in our case is ~/android-ndk-r21b
). The second argument is optional and is the target architecture, which can be one of the following: arm
, x86
, arm64
or x86_64
. If no target architecture is provided, it will build all available architectures. Run:
./tools/android_build.sh ~/android-ndk-r21b
When done, each built shared library will be placed in out_android/$(ARCHITECTURE)/libnode.so
.
Run the android-configure
script to configure the build with the path to the downloaded NDK and the desired target architecture.
source ./android-configure ../android-ndk-r21b arm
Start the build phase:
This will create the Android armeabi-v7a
shared library in out/Release/lib.target/libnode.so
.
Install Xcode 11 or higher, from the App Store, and then install the Command Line Tools by running the following command:
That installs git
, as well.
To install CMake
, you can use a package installer like Homebrew.
First, install HomeBrew
, if you don't have it already.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Then, use it to install CMake
:
Add this to your Podfile
:
pod 'NodeMobile', :git => 'https://github.com/janeasystems/nodejs-mobile.git'Building the iOS .framework library on macOS: 1) Clone this repo and check out the
mobile-master
branch:
git clone https://github.com/janeasystems/nodejs-mobile cd nodejs-mobile git checkout mobile-master2) Run the helper script:
./tools/ios_framework_prepare.sh
That will configure gyp
to build Node.js and its dependencies as static libraries for iOS on the arm64 and x64 architectures, using the v8
engine configured to start with JIT disabled. The script copies those libraries to tools/ios-framework/bin/arm64
and tools/ios-framework/bin/x64
, respectively. It also merges them into static libraries that contain strips for both architectures, which will be placed in tools/ios-framework/bin
and used by the tools/ios-framework/NodeMobile.xcodeproj
Xcode project.
The helper script builds the tools/ios-framework/NodeMobile.xcodeproj
Xcode project into three frameworks:
out_ios/Release-iphoneos/NodeMobile.framework
out_ios/Release-iphonesimulator/NodeMobile.framework
out_ios/Release-universal/NodeMobile.framework
While the universal framework is useful for faster Application development, due to supporting both iOS devices and simulators, frameworks containing simulator strips will not be accepted on the App Store. Before trying to submit your application, it would be advisable to use the Release-iphoneos/NodeMobile.framework
in your submission archive or strip the x64 slices from the universal framework's binaries before submitting.
Please see the TESTING.md file in the doc_mobile
folder in this source distribution.
Please see the CONTRIBUTING file in the doc_mobile
folder in this source distribution.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4