【问题标题】:Android Travis CI Error: Invalid --abi armeabi-v7a for the selected targetAndroid Travis CI 错误:所选目标的 --abi armeabi-v7a 无效
【发布时间】:2023-03-23 23:24:01
【问题描述】:

我的 Travis 构建不断失败,因为它显然无法识别 arm abi。这是我完整的.travis.yml

language: android
sudo: required

env:
  global:
  - ANDROID_API_LEVEL=28
  - ANDROID_BUILD_TOOLS_VERSION=28.0.3
  - ANDROID_ABI=armeabi-v7a
  - ANDROID_EMU_API_LEVEL=27

android:
  components:
    - tools
    - platform-tools
    - tools # appears twice as per Travis docs
    - build-tools-$ANDROID_BUILD_TOOLS_VERSION
    - android-$ANDROID_API_LEVEL
    - android-$ANDROID_EMU_API_LEVEL
    - extra-android-m2repository
    - sys-img-${ANDROID_ABI}-android-${ANDROID_EMU_API_LEVEL}
  licenses:
    - 'android-sdk-preview-license-52d11cd2'
    - 'android-sdk-license-.+'
    - 'google-gdk-license-.+'

before_cache:
  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/

cache:
  directories:
  - $HOME/.gradle/caches/
  - $HOME/.gradle/wrapper/
  - $HOME/.android/build-cache

before_script:
  - echo no | android create avd --force -n test -t android-$ANDROID_EMU_API_LEVEL --abi $ANDROID_ABI -c 100M
  - emulator -avd test -no-audio -no-window &
  - android-wait-for-emulator
  - adb shell input keyevent 82 &
  - chmod +x gradlew

script:
  - android list target
  - ./gradlew clean build
  - ./gradlew test
  - ./gradlew connectedCheck

我也试过把模拟器里的abi改成google_apis/armeabi-v7a,没用。还尝试在系统映像下载中添加google_apis。我目前已经尝试过API_LEVEL 22、27 和 28。 这里有什么问题?

【问题讨论】:

  • 你解决了吗?遇到一个非常相似的问题..
  • 仍然没有解决@aleksandrbel

标签: android arm travis-ci android-api-levels


【解决方案1】:

你可以试试ANDROID_ABI=arm64-v8a而不是ANDROID_ABI=armeabi-v7a

【讨论】:

  • 谢谢,但我仍然收到Valid ABIs: no ABIs. Error: Invalid --abi arm64-v8a for the selected target.
  • 你知道你的目标是什么abi吗?
  • 目标是什么意思?我认为 Travis 默认是 armeabi-v7a,就像他们的文档说的那样。
  • "Error: Invalid --abi armeabi-v7a for the selected target"表示目标不是好目标,你也可以试试x86x86_64,Valid ABIs: no ABIs.你的目标可能无法识别对不起,我帮不了你了
  • 是的... Travis 还不支持 x86。还是谢谢
【解决方案2】:

我不知道这是否仍然相关,因为它是在 4 个月前被问到的,但我最近也遇到了同样的问题。我尝试了人们建议的许多不同的方法,但在我以这种方式设置之前都没有奏效:

language: android
sudo: required
jdk: oraclejdk8

env:
  global:
  - ANDROID_API_LEVEL=28
  - ANDROID_BUILD_TOOLS_VERSION=28.0.3
  - ANDROID_ABI=armeabi-v7a

android:
  components:
    - tools
    - platform-tools
    - tools
    - extra-android-m2repository
  licenses:
    - 'android-sdk-preview-license-52d11cd2'
    - 'android-sdk-license-.+'
    - 'google-gdk-license-.+'

before_install:
  - touch $HOME/.android/repositories.cfg
  - yes | sdkmanager "platforms;android-28"
  - yes | sdkmanager "build-tools;28.0.3"

before_cache:
  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/

cache:
  directories:
  - $HOME/.gradle/caches/
  - $HOME/.gradle/wrapper/
  - $HOME/.android/build-cache

before_script:
  - chmod +x gradlew

script:
  - ./gradlew clean build
  - ./gradlew test

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多