npm install -g react-native-cli npm install -g create-react-native-app npm install -g watchman
建立工程html
create-react-native-app sample
启动工程html5
cd sample yarn start
经过 expo 来查看运行结果java
解压 sdk 到 opt/androidreact
配置 .zshenv / .bashenvandroid
export ANDROID_HOME=/opt/android export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform-tools
安装 platform-toolsc++
cd $ANDROID_HOME ./tools/bin/sdkmanager platform-tools
安装 build-toolsgit
cd $ANDROID_HOME ./tools/bin/sdkmanager "build-tools;23.0.1"
yarn eject cd android keytool -genkey -v -keystore my-app-key.keystore -alias my-app-alias -keyalg RSA -keysize 2048 -validity 10000
建立签名时,密码用 123456github
vim ./android/gradle.propertiesnpm
MYAPP_RELEASE_STORE_FILE=my-app-key.keystore MYAPP_RELEASE_KEY_ALIAS=my-app-alias MYAPP_RELEASE_STORE_PASSWORD=123456 MYAPP_RELEASE_KEY_PASSWORD=123456把生成的文件 my-app-key.keystore 放入 android/app 文件夹下
vim ./android/app/build.gradlevim
android { defaultConfig {... ...} signingConfigs { release { if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD } } } buildTypes { release { ... ... signingConfig signingConfigs.release } } }
cd android ./gradlew assembleRelease
生成的 apk 在 app/build/outputs/apk 下
修改以下内核参数后再启动:
sudo sysctl -w fs.inotify.max_user_watches=1000000
永久修改此参数,能够把这个配置加入到: /etc/sysctl.conf 中
java.io.IOException: Cannot run program "/opt/android/build-tools/23.0.1/aapt": error=2, No such file or directory
安装 确实的 package
sudo apt-get install lib32stdc++6 lib32z1
安装相应的 package
cd .. yarn add babel-preset-react-native-stage-0 cd android ./gradlew assembleRelease