gpt4 book ai didi

java - 命令 "echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a"失败并以 1 退出

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:02:58 24 4
gpt4 key购买 nike

我是 Travis 和 android 开发的新手,由于我指出的错误标题,我的构建失败了,我一直在阅读文档并尝试实现它,但构建仍然失败。

我失败构建的链接如下 https://travis-ci.org/huxaiphaer/ConvergeLevelApp

下面是 Travis 上的错误。

$ java -Xmx32m -version

java version "1.8.0_144"

Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

$ javac -J-Xmx32m -version

javac 1.8.0_144

0.46s$ echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a

Error: Target id is not valid. Use 'android list targets' to get the target ids.

The command "echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a" failed and exited with 1 during .

Your build has been stopped.

Link to the build

然后下面是我的.travis.yml文件

    # Disabling sudo moves build to the Container Based Infrastructure on Travis CI

language: android
jdk: oraclejdk8

env:
global:
# wait up to 10 minutes for adb to connect to emulator
- ADB_INSTALL_TIMEOUT=10

android:
components:
# Uncomment the lines below if you want to
# use the latest revision of Android SDK Tools
- platform-tools
- tools

# The BuildTools version used by your project
- build-tools-26.0.2

# The SDK version used to compile your project
- android-26
- extra
# Additional components
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository
- extra-android-support

# Specify at least one system image,
# if you need to run emulator(s) during your tests
- sys-img-armeabi-v7a-android-22

licenses:
- 'android-sdk-preview-license-52d11cd2'
- 'android-sdk-license-.+'
- 'google-gdk-license-.+'

# start Android emulator

bedfore_install:
- yes | sdkmanager "platforms;android-22"
- ./gradlew build connectedCheck
- chmod +x ./gradlew

before_script:
- echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a
- emulator -avd test -no-audio -no-window &
- android-wait-for-emulator
- adb shell input keyevent 82 &

notifications:
email: true

cache:
directories:
- $HOME/.m2
- $HOME/.gradle
- $HOME/.android
- ${TRAVIS_BUILD_DIR}/gradle/caches/
- ${TRAVIS_BUILD_DIR}/gradle/wrapper/dists/

我实现的解决方案之一是列出目标 ID,在 before_script 中使用以下命令:

 - android list targets

我得到了以下列表,但我不知道:

error image

这是我的build.gradle文件

apply plugin: 'com.android.application'
apply plugin: 'jacoco'


jacoco {
toolVersion = '0.8.0'
}

tasks.withType(Test) {
jacoco.includeNoLocationClasses = true
}

task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {

reports {
xml.enabled = true
html.enabled = true
}

def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
def debugTree = fileTree(dir: "$project.buildDir/intermediates/classes/debug", excludes: fileFilter)
def mainSrc = "$project.projectDir/src/main/java"

sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: project.buildDir, includes: [
'jacoco/testDebugUnitTest.exec', 'outputs/code-coverage/connected/*coverage.ec'
])
}


android {

adbOptions {
timeOutInMs 60 * 1000
}

compileSdkVersion 28
defaultConfig {
applicationId "com.levelapp.converge.convergelevelapp"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
testCoverageEnabled true
}

release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

testOptions {
execution 'ANDROID_TEST_ORCHESTRATOR'
animationsDisabled true

unitTests {
includeAndroidResources = true
}
}
}


dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
androidTestUtil 'com.android.support.test:orchestrator:1.0.2-alpha1'
testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:3.7.1'
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.koushikdutta.ion:ion:2.+'
implementation 'com.mikhaellopez:circularimageview:3.2.0'
}

最佳答案

您似乎忘记添加模拟器依赖项,这就是找不到有效 ABI 的原因。要运行模拟器,您需要安装 android-22 平台,模拟器才能正常工作:

android: 
components:
- ...
# Specify at least one system image,
# if you need to run emulator(s) during your tests
- android-22
- sys-img-armeabi-v7a-android-22
- ...

关于java - 命令 "echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a"失败并以 1 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53432679/

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