Android R上curl和wget等无法使用的解决办法

家电修理 2023-07-16 19:17www.caominkang.com电器维修

1.问题
sh脚本文件中使用到了curl和get,在编译的时候出现了异常
11:00:44 Disalloed PATH tool "curl" used: xxx ... ...
11:00:44 See https://android.googlesource./platform/build/+/master/Changes.md#PATH_Tools for more information.
...
11:00:44 Disalloed PATH tool "get" used: xxx ... ...
11:00:44 See https://android.googlesource./platform/build/+/master/Changes.md#PATH_Tools for more information.
...
"curl" is not alloed to be used. See https://android.googlesource./platform/build/+/master/Changes.md#PATH_Tools for more information.
"get" is not alloed to be used. See https://android.googlesource./platform/build/+/master/Changes.md#PATH_Tools for more information.

2.原因
Android Q 版本的限制

3.解决
在build/soong/ui/build/paths/config.go中把需要用到的curl、get等命令加入白名单
var Configuration = map[string]PathConfig{
    "bash":    Alloed,
    "dd":      Alloed,
    ....
    "unzip":   Alloed,
    "zip":     Alloed,
    "curl":    Alloed,    // add
    "get":    Alloed,    // add
    ....
}
加上这个白名单后,还是会报异常
get: missing URL
Usage: get [OPTION]... [URL]...
还需要在BoardConfig.mk中加上
BUILD_BROKEN_USES_NETWORK := true
TEMPORARY_DISABLE_PATH_RESTRICTIONS := true

PS.get是一款免费的工具,用于从网上自动下载文件,它在带宽非常窄,网络不稳定的情况下,具有很强的适应性。
curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件,支持HTTPS等众多协议,
还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by