在linux服务器中,
使用wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz下载解压后tools/bin中并没有包含sdkmanager,意味着缺失的sdk不能自动下载
使用wget https://dl.google.com/android/repository/tools_r25.2.3-linux.zip
unzip解压到sdk目录,sdk目录下仅解压出了tools文件夹,bin下包含sdkmanager,此时直接用该sdk编译工程会报缺少licences的错误,不会自动下载缺失文件
进入到tools/bin下,按照其它网站写法执行sh sdkmanager --licenses,会得到
Error: Unknown argument --licences的错误
于是,我尝试了
sdkmanager "platform-tools" "platforms;android-28"
会让你继续输入y/n的询问,输入y后自动下载了,发现sdk目录下多了licenses,platform,platform-tools等文件夹,
此时,在进行工程编译,缺少的sdk便自动下载了,之后便成功编译
其它补充
下载sdk可通过国内Google开发者中心https://developer.android.google.cn/studio下载最新版
然后点
获取链接到sdk目录执行
wget https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip
下载并解压到sdk目录下,进入tools/bin执行
sh sdkmanager --licenses
可能遇到的错误
Warning: Could not create settings
java.lang.IllegalArgumentException
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:419)
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)
解决办法需指定sdk的位置
yes | sh sdkmanager --sdk_root="/opt/jktest/dev/sdk" --licenses