Unix下Android开发:软件包安装与管理实战
|
在Unix系统(如Linux或macOS)上进行Android开发时,软件包的安装与管理是构建稳定开发环境的基础环节。Android SDK、NDK、平台工具及命令行工具链均依赖清晰的路径配置和版本控制,避免因混用不同版本导致构建失败或调试异常。 推荐使用sdkmanager作为核心管理工具,它随Android Command-line Tools一同分发。下载最新版commandlinetools后,解压至统一目录(如~/android/cmdline-tools/latest),并确保其bin目录加入PATH。首次运行需手动接受许可证:sdkmanager --licenses;若遇到SSL异常,可临时设置JAVA_OPTS="-Djdk.internal.http.disableKeepAlive=true"以绕过代理干扰。 常用组件通过sdkmanager精准安装,无需全量下载。例如,安装Android 14(API 34)平台:sdkmanager "platforms;android-34";安装最新构建工具:sdkmanager "build-tools;34.0.0";获取通用模拟器镜像:sdkmanager "system-images;android-34;google_apis;x86_64"。所有下载内容默认存于$ANDROID_HOME下,建议提前设置该环境变量指向~/.android/sdk,避免工具误用系统级路径。
AI绘图,仅供参考 平台工具(adb、fastboot)应独立更新且优先于SDK内嵌版本。直接下载platform-tools-linux.zip(macOS对应darwin),解压后将其中二进制文件置于PATH前端。这样既规避了sdkmanager偶尔延迟同步新版的问题,又确保adb server与设备通信兼容性。验证可用性只需执行adb version并确认输出含“34.0.4”或更高数字。 Java环境需严格匹配Android Gradle插件要求。Android Studio Flamingo起强制依赖JDK 17,故推荐通过sdkman!管理:sdk install java 17.0.8-tem、sdk use java 17.0.8-tem。避免混用OpenJDK发行版与Oracle JDK,因其安全策略差异可能引发keytool签名异常。同时,在gradle.properties中显式声明org.gradle.java.home,杜绝IDE与命令行编译环境不一致。 日常维护中,定期清理冗余包可节省磁盘空间。执行sdkmanager --list_installed查看已装项,对过时平台(如android-28)执行sdkmanager --uninstall "platforms;android-28";而obsolete标记的旧构建工具会自动被新版本取代,无需手动删除。注意:卸载前确认无项目仍在引用该平台——可搜索project根目录下的build.gradle中compileSdkVersion值。 当遭遇“package not found”错误时,先检查网络连通性及https代理设置(sdkmanager读取https_proxy环境变量),再验证仓库索引是否更新:sdkmanager --update。若国内访问缓慢,可配置国内镜像源:在~/.android/repositories.cfg中添加customSources=1,并创建~/.android/repositories-custom.xml指定清华TUNA或中科大USTC镜像地址。所有操作均应在非root用户下完成,保障权限安全与可追溯性。 (编辑:草根网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


浙公网安备 33038102330554号