Android build server,Android SDK位置vs Build Server,如何设置?

博主正在尝试使用TeamCity为Android应用设置构建服务器,并遇到了Android SDK路径的问题。他们已经设置了ANDROID_HOME环境变量,但在Windows上,构建服务器无法找到SDK。尝试在local.properties中设置sdk.dir时,服务器添加了额外的目录路径。尽管ANDROID_HOME在MAC上工作,但Android Studio仍然需要在local.properties中硬编码SDK路径。博主寻求一种方法,以便在不同PC上不需硬编码SDK路径就能使构建工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想为我的Android应用程序创建一个构建服务器。我正在与TeamCity合作。我的问题是:Android SDK位置vs Build Server,如何设置?

构建服务器是PC(Windows)没有看到Android SDK的位置。

运行服务器的PC机以正确的方式设置了ANDROID_HOME。

我的应用程序使用Gradle构建系统。

我需要做的是让我的构建服务器在构建我的应用程序时使用环境位置(ANDROID_HOME)。我已经尝试过了什么?

我在我的Android项目中使用了local.properties。我尝试以各种方式将ANDROID_HOME参数设置为sdk.dir,例如。

sdk.dir = ANDROID_HOME

结果 - 错误:

The SDK directory 'E:\TeamCity\buildAgent\work\a6d423a9d6e29c40\ANDROID_HOME' does not exist.

因此,大家可以看到,服务器之前增加了一些奇怪的目录。同样适用于:$ ANDROID_HOME或%ANDROID_HOME%。

当我在服务器上手动和点设置路径SDK方向这样:

sdk.dir = /Program Files (x86)/android-studio/sdk

然后服务器生成项目,一切是正确的。 ANDROID_HOME环境变量被设置为与此相同的位置。

我删除local.properties,我得到这个:

SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

那么,如何理解是这样的:如果我不会在我的项目local.properties它会寻找SDK路径在ANDROID_HOME环境变量中。就像我说的,在我的服务器环境变量已设置,我已经检查了很多次。它不起作用。 (我在MAC X OS上也试过,终端显示ANDROID_HOME为/ Applications/Android Studio.app/sdk,但例如Android Studio只能在local.properties中硬编码路径的情况下才能构建项目,它不想接受以任何方式ANDROID_HOME变量)。

我如何可以设置local.properties环境变量,这样我就不必硬编码,使其工作?

2014-03-31

F1sher

+1

'ANDROID_HOME'不应该是'sdk.dir'属性的值。这是您需要使用SDK的路径值创建的环境变量的名称。对于'sdk.dir',你应该可以使用'sdk.dir = c:\ Program Files文件(x86)\ android-studio \ sdk' –

+0

我知道这可以工作,但它不会在其他PC上工作。我的意思是,当我在我的MAC上工作,我的SDK目录是/ Applications/Android Studio.app/sdk,然后我将它推送到GIT仓库,那么其他想要抽取它的人也会将我的local.properties编译。此外,如果我在build服务器运行时出错,因为它不会在PC/Windows上找到SDK(因为PC上的SDK目录是/ Program Files(x86)/ android-studio/sdk和我用/ Applications/Android Studio.app/sdk推送了我的local.properties文件。这就是为什么每台PC使用ANDROID_HOME都是最佳的原因 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值