Windows不安装 Android Studio如何打包安卓软件

我已经成功跑起来了,只用命令行就可以打包。用任何一个ide都可以写代码,尤其是ai时代。我这里克隆了一个开源的安卓项目,想把它在我电脑上打包成apk,以下是需要的环境。

安装Android SDK

使用Command line tools only

我用的是这个方法

步骤 1:下载 Android SDK 命令行工具

  1. 访问:https://developer.android.com/studio#command-line-tools-only

  2. 下载 Command line tools only 的 Windows 版本

步骤 2:安装 SDK

假设下载后解压到 C:\android-sdk(安装到哪都行,这只做示范),然后运行:(重点是两个环境变量弄好,步骤2和3都要在命令行里跑)

复制代码
# 设置环境变量
$env:ANDROID_HOME = "C:\android-sdk"
$env:ANDROID_SDK_ROOT = "C:\android-sdk"
​
# 安装需要的 SDK 组件
sdkmanager "platforms;android-36" "build-tools;36.0.0" "platform-tools"

步骤 3:接受许可证

复制代码
sdkmanager --licenses

输入 y 接受所有许可证。


更简单的方法:使用 scoop 安装

这个我没用过

如果你安装了 scoop,可以一键安装:

复制代码
# 安装 android-sdk
scoop install android-sdk
​
# 安装需要的 SDK 版本
sdkmanager "platforms;android-36" "build-tools;36.0.0" "platform-tools"
​
# 接受许可证
sdkmanager --licenses

检查 Java 是否安装

另外,构建 Android 项目还需要 Java,自行查看是否已安装:

检查结果

需要看项目要求 Java 几。这里举例java 17

需要安装 Java xx版

你可以从以下途径下载:

  1. Oracle JDK 17https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

  2. OpenJDK 17 (免费):https://adoptium.net/

  3. 使用 scoop(如果已安装):

复制代码
scoop install java17

安装后确保 JAVA_HOME 环境变量指向 Java 17。这里要在环境变量设置,不会问ai或者查"java设置环境变量"


总结:你需要安装的内容

组件 状态 说明
Gradle ✅ 已就绪 通过 Gradle Wrapper
Java ❌ 需要 Java 17 当前是 Java 11
Android SDK ❌ 未安装 需要 API 36

安装完 Java 17 和 Android SDK 后,基本环境就完成了,开始安装gradle,这是个安卓新的构建工具,以前老项目是用Maven,现在基本都用gradle

将 Wrapper 下载地址改为国内镜像

gradle/wrapper/gradle-wrapper.properties 中的分发地址改为:

复制代码
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.14-bin.zip

修改后就可以用命令运行 .\gradlew.bat assembleDebug 打包了,速度很快。

运行gradlew相关的命令都会自动安装Gradle,会自动下载Gradle的zip,自动安装。

安装成功后可以用命令来看安装的版本,有的话就可以用打包命令了。但是这时候有个最麻烦的问题就是如果你的项目不在C盘,那就会报错,因为无法跨盘来打包。Gradle缓存默认在C盘,这时候必须用命令把Gradle的缓存放到和项目一个盘里。

set GRADLE_USER_HOME=D:.gradle gradlew assembleDebug 或者这个设置命令 $env:GRADLE_USER_HOME="G:\Project.gradle-user-home"

用了命令后最好在环境变量的系统变量里也设置上GRADLE_USER_HOME和它的位置,双重备份保险。

查看Gradle的位置echo %GRADLE_USER_HOME%

查看ANDROID_HOME和ANDROID_SDK_ROOT环境变量的地址

echo %ANDROID_HOME% echo %ANDROID_SDK_ROOT%

1. 查看项目所用Gradle版本

gradle -v(全局) 有时候不行,得用.\gradlew -v(局部) 想搞全局得在环境变量的Path搞 环境变量的Path 新增:%GRADLE_HOME%\bin

2. 停止所有Gradle守护进程(解决缓存异常、跨目录报错)

.\gradlew --stop

3. 全量清理项目构建缓存

.\gradlew clean --no-build-cache .\gradlew clean

清理顺带打包.\gradlew.bat clean :app:assembleDebug

4. 重新编译Debug

.\gradlew.bat assembleAppDebug --stacktrace .\gradlew.bat assembleAppDebug .\gradlew assembleAppDebug

5. 停止所有 Gradle 进程

taskkill /F /IM java.exe

这是gradle缓存被锁最后的终极绝招。

下面给两个打包的结果图,一个是错误没打包好,一个是正确打包成功。


打包失败会给你说哪块的文件里某行有问题,可以复制给ai,这个命令可以当做检测语法是否错误的命令。Task下面两个就是错误的文件

相关推荐
love530love18 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
数智工坊19 小时前
机器人运动控制:采样、优化与学习三大流派深度对比与实战
android·学习·机器人
CryptoPP19 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
故渊at21 小时前
第二板块:Android 四大组件标准化学理 | 第八篇:Service 后台执行实体与优先级
android·gitee·service·前台服务·后台服务
会Tk矩阵群控的小木21 小时前
安卓群控系统对于游戏工作室实战教程
android·运维·游戏·adb·开源软件·个人开发
cup1121 小时前
[开源] Meta Assistant / 告别命令行,我为一堆 Python 脚本做了一个 Windows 任务栏的“家”
windows·python·工具·nuitka·脚本运行
小小编程路1 天前
Python 还有容器类型互转、进制转换、字符编码转换
开发语言·windows·python
qeen871 天前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
故渊at1 天前
第二板块:Android 四大组件标准化学理 | 第九篇:BroadcastReceiver 事件分发与有序广播
android·gitee·broadcast·广播·动态注册·静态注册