我有一个正在工作的安卓项目,我正在尝试在每个PR上设置自动化集成测试,与我在GitHub上的主分支进行集成测试。
我的问题是,如果没有Android SDK,我如何运行gradle任务?我必须推送我的Android SDK (真的不想)吗?或者我可以指向服务器(可能是Google)上经过编译的Android SDK?
到目前为止,我让它设置了semaphoreci来运行这些命令:
gradle wrapper // Fails here
./gradlew clean
./gradlew build我得到了这个错误
FAILURE: Build failed with an exception.
[0K
* What went wrong:
A problem occurred configuring project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.发布于 2019-04-15 11:40:11
我知道这是一个古老的话题,但我最近自己建立了这个话题,并认为我应该在这里发布解决方案,以防将来有人偶然发现这篇文章并需要帮助。
解决方案是安装Android SDK命令行工具。将以下内容放入您的信号量脚本的commands:部分。下面的所有这些可能并不是绝对必要的,但在构建我自己的React-Native Android应用程序时,它对我来说是有效的。确保获取此处列出的最新版本的命令行工具集:https://developer.android.com/studio#command-tools。在Semaphore上,您需要Linux工具集。脚本的第一行在抓取和安装Android SDK CLI之前安装一些建议的先决条件。然后,只需继续执行其余命令,即可执行测试/构建应用程序所需的任何其他操作。
- echo y | sudo apt-get install libc6-dev-i386 lib32z1 openjdk-8-
- wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
- unzip sdk-tools-linux-4333796.zip
- export ANDROID_HOME=`pwd`
- yes | tools/bin/sdkmanager --update || exit 0
- yes | tools/bin/sdkmanager "platform-tools" "platforms;android-28" || exit 0
- yes | tools/bin/sdkmanager --licenses || exit 0https://stackoverflow.com/questions/46121821
复制相似问题