gpt4 book ai didi

android - CircleCI 使用绝对路径,而不是相对路径

转载 作者:行者123 更新时间:2023-12-03 03:30:27 25 4
gpt4 key购买 nike

我正在使用 CircleCI 构建一个 Android 应用程序,并在项目中编译一个 Android 库作为依赖项。但是,我在 CircleCI 构建期间收到以下错误:

A problem occurred configuring project ':aModule'.
> The SDK directory '/home/myname/Android/Sdk' does not exist.

看起来 CircleCI 正在尝试使用一些构建工具来编译模块,但由于它在我的机器上使用绝对路径而失败。如果可能,我将如何配置 CircleCI 以使用 Android SDK 的本地路径?

这是我的 build.gradle以及,如有必要:
apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "24.0.0"

defaultConfig {
applicationId "com.myapp.app"
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "0.1"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

repositories {
maven {
url "http://dl.bintray.com/glomadrian/maven"
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:cardview-v7:24.0.0'
compile 'com.github.medyo:fancybuttons:1.8.1'
compile 'com.github.glomadrian:roadrunner:1.0@aar'
compile 'com.afollestad.material-dialogs:core:0.8.6.1'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.16'
compile 'com.android.support:design:24.0.0'
compile 'com.github.PhilJay:MPAndroidChart:v3.0.0-beta1'
compile 'joda-time:joda-time:2.9.4'
compile project(':aModule')
}

* 更新:SDK 路径在我项目的 local.properties 中设置

最佳答案

对我来说,解决方案是在 circle.yml 中使用以下内容文件

#
# Build configuration for Circle CI
#

general:
artifacts:
- /home/ubuntu/your-app-name/app/build/outputs/apk/

machine:
environment:
ANDROID_HOME: /usr/local/android-sdk-linux
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
java:
version: oraclejdk8

checkout:
post:
- git submodule sync
- git submodule update --init

dependencies:
pre:
- echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-25.0.2,android-25,extra-google-m2repository,extra-google-google_play_services,extra-android-m2repository,extra-android-support
- chmod +x gradlew
- ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies

test:
override:
- (./gradlew assemble):
timeout: 360

gradlew 的权限和设置 ANDROID_HOME=/usr/local/android-sdk-linux 似乎是需要的......

但我已经使用 circleci 大约 30 分钟......

关于android - CircleCI 使用绝对路径,而不是相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38318516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com