最新消息:20210917 已从crifan.com换到crifan.org

【已解决】macOS中运行sdkmanager报错:Warning Could not create settings

macOS crifan 433浏览 0评论
折腾:
【未解决】macOS中安装安卓开发工具aapt
期间,已在macOS中安装好了安卓的command line tools了。然后去运行sdkmanager,结果报错:
crifanli@crifanlideMac  ~/dev/DevTools/android/tools/bin  ./sdkmanager --update
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
。。。
还有其他错误
sdkmanager Warning: Could not create settings
gitlab ci – Android Command line tools sdkmanager always shows: Warning: Could not create settings – Stack Overflow
android – SDKmanager : Warning: Could not create setting. java.lang.IllegalArgumentException – Stack Overflow
去参考前面的答案去操作
找个目录,用于:ANDROID_SDK_ROOT
然后去下载和解压:commandlinetools zip,到ANDROID_SDK_ROOT下面的某个目录,比如:cmdline-tools,注意不要叫:tools,会和默认的tools有冲突
再把 $ANDROID_SDK_ROOT/cmdline-tools/tools/bin 加到PATH中,即可
去操作:
vi ~/.zshrc
加上:
export ANDROID_SDK_ROOT=/Users/crifanli/dev/DevTools/android/sdk_root
export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline_tools/tools/bin
生效:
source ~/.zshrc
去看看效果:
 cd ~/dev/DevTools
crifanli@crifanlideMac  ~/dev/DevTools  which sdkmanager
/Users/crifanli/dev/DevTools/android/sdk_root/cmdline_tools/tools/bin/sdkmanager
是可以的。
然后再去试试,问题依旧。
感觉是:ANDROID_SDK_ROOT中缺少安卓 sdk的真正内容?
结果是:好像必须叫做:cmdline-tools
之前以为是回答者自己随便起的名字,所以为了目录名便于识别,不带短横线,才改为:cmdline_tools
所以去
cmdline_tools
改为
cmdline-tools
cat ~/.zshrc
...
export ANDROID_SDK_ROOT=/Users/crifanli/dev/DevTools/android/sdk_root
export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
以及:
~  echo $PATH
.:/Users/crifanli/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home/bin:/Users/crifanli/dev/DevTools/android/sdk_root/cmdline-tools/tools/bin
确保路径正确:
crifanli@crifanlideMac  ~  which sdkmanager
/Users/crifanli/dev/DevTools/android/sdk_root/cmdline-tools/tools/bin/sdkmanager
然后即可正常使用:
crifanli@crifanlideMac  ~  sdkmanager --update
[=======================================] 100% Computing updates...
crifanli@crifanlideMac  ~ 
【总结】
此处macOS中,虽然之前已下载和安装了安卓的command line的tools,解压得到了sdkmanager了,但是运行报错:
 ~/dev/DevTools/android/tools/bin  ./sdkmanager --update
Warning: Could not create settings
原因:
sdkmanager即安卓的command line tools的bug
解决办法:
1.找个目录,用作:ANDROID_SDK_ROOT
比如此处是:
/Users/crifanli/dev/DevTools/android/sdk_root
2.在ANDROID_SDK_ROOT下面新建一个目录,名字(只能)叫做:cmdline-tools
3.把下载到的安卓的commandline tools的zip文件解压得到的tools文件夹,放到cmdline-tools中
比如从
https://dl.google.com/android/repository/commandlinetools-mac-6609375_latest.zip
下载得到的
commandlinetools-mac-6609375_latest.zip
解压后,就只有一个tools文件夹
放到cmdline-tools后是:
/Users/crifanli/dev/DevTools/android/sdk_root/cmdline-tools/tools
4.添加环境变量到启动脚本
把ANDROID_SDK_ROOT和sdkmanager所在路径
此处是:
export ANDROID_SDK_ROOT=/Users/crifanli/dev/DevTools/android/sdk_root
export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
放到此处启动脚本
~/.zshrc
中最后,即可。
之后即可正常,在任何目录中使用sdkmanager了。

转载请注明:在路上 » 【已解决】macOS中运行sdkmanager报错:Warning Could not create settings

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
90 queries in 0.183 seconds, using 23.40MB memory