macos 安装react-native打包环境

发布于 2020-05-23  310 次阅读


1、安装java(这个就不用我说了吧?)

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

先下载jdk8,选择macos版本的jdk(记得先卸载macos自带的openjdk,要不然会导致安卓sdk安装报错)

2、安装安卓sdk

brew cask install android-sdk 

配置.bash_profile,如果使用的是Oh-My-Zsh,则配置.zshrc

加入配置文件末尾:

export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"
export PATH="${PATH}:${ANDROID_SDK_ROOT}/tools:${ANDROID_SDK_ROOT}/platform-tools"

执行source ~/.zshrc

之后执行sdkmanager --list 如果出现 Exception in thread "main" java.lang.NoClassDefFoundError的错误

1、环境被识别到或者是环境没装

2、安装的java有问题,比如我之前安装的openjdk就会爆这个错,换成oracle的即可

这个时候如果直接使用react-native打包会爆以下错误

Failed to install the following Android SDK packages as some licences have not been accepted” error

分析:原因是没有构建sdk构建许可,执行以下代码即可

yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

如果构建了软链接直接执行

yes | sdkmanager --license

linux上如果碰到以下情况,请检查下是否安装java环境,或者sdkmanager解压出来的文件层级不对

Warning: Could not create settings
java.lang.IllegalArgumentException
	at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:428)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Usage:
  sdkmanager [--uninstall] [<common args>] [--package_file=<file>] [<packages>...]
  sdkmanager --update [<common args>]
  sdkmanager --list [<common args>]
  sdkmanager --licenses [<common args>]
  sdkmanager --version

如果安装了java环境,那么需要检查一下文件的路径,如果只是tools/bin/sdkmanger 的话就会出现一下错误,这个时候需要创建一个叫cmdline-tools的文件夹,并且把tools移动进去,那么之后的目录层级应该是,切记,名字一定要叫cmdline-tools

cmdline-tools/tools/bin/sdkmanager

这个时候执行./sdkmanager --list就不会报以上错误啦


一个逐渐被时间遗忘掉的人