首页 文章

将Android依赖项添加到Docker构建映像 - Bitbucket管道(CI)

提问于
浏览
2

我在bitbucket管道构建期间收到此错误 . 我错过了firebase jar fles .

Build fail error:

> Could not resolve all dependencies for configuration ':app:_debugApkCopy'.
   > Could not find com.google.firebase:firebase-core:10.0.0.
     Searched in the following locations:
         file:/usr/local/android-sdk/extras/android/m2repository/com/google/firebase/firebase-core/10.0.0/firebase-core-10.0.0.pom
         file:/usr/local/android-sdk/extras/android/m2repository/com/google/firebase/firebase-core/10.0.0/firebase-core-10.0.0.jar
         file:/opt/atlassian/pipelines/agent/build/sdk-manager/com/google/firebase/firebase-core/10.0.0/firebase-core-10.0.0.jar
     Required by:
         project :app
   > Could not find com.google.firebase:firebase-ads:10.0.0.
     Searched in the following locations:
         file:/usr/local/android-sdk/extras/android/m2repository/com/google/firebase/firebase-ads/10.0.0/firebase-ads-10.0.0.pom
         file:/usr/local/android-sdk/extras/android/m2repository/com/google/firebase/firebase-ads/10.0.0/firebase-ads-10.0.0.jar
         file:/opt/atlassian/pipelines/agent/build/sdk-manager/com/google/firebase/firebase-ads/10.0.0/firebase-ads-10.0.0.jar
     Required by:
         project :app
   > Could not find com.google.firebase:firebase-messaging:10.0.0.
     Searched in the following locations:
         file:/usr/local/android-sdk/extras/android/m2repository/com/google/firebase/firebase-messaging/10.0.0/firebase-messaging-10.0.0.pom
         file:/usr/local/android-sdk/extras/android/m2repository/com/google/firebase/firebase-messaging/10.0.0/firebase-messaging-10.0.0.jar
         file:/opt/atlassian/pipelines/agent/build/sdk-manager/com/google/firebase/firebase-messaging/10.0.0/firebase-messaging-10.0.0.jar
     Required by:
         project :app
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Details about the environment:

What I want to accomplish:

要在我的Docker容器中为我的构建安装Firebase和其他未来依赖项,以便管道可以构建我的Android项目

What I have so far:

应用程序在本地构建良好 . 您需要在Android Studio中正在进行构建的计算机上安装Firebase(这是正常的) . 但是,安装Firebase的所有说明都适用于Javascript库或涉及打开Android Studio并安装它,这在docker容器中是不可能的 .

My current idea:

将已编译的jar文件复制到构建目录中 .

即:

app\build\intermediates\exploded-aar\com.google.firebase\firebase-core\10.0.0\jars\classes.jar

重命名它并将其复制到构建所需的预期目录

我宁愿直接从Web资源中删除它并以这种方式复制它,原因有两个:

  • 我不确定这是否是它想要的jar文件

  • 如果它确实有效,那就是因为我从旧版本中抓取一件神器而作弊 . 有点失败了CI系统的目的 .

1 回答

  • 1

    我想到了 .

    如果你想要导入谷歌播放服务和其他Android服务(在应用程序计费,和其他)我做了一个图像,涵盖了这个:

    docker pull epro95z28 / androidservices

    它基于在这里找到的超级开发图像:https://hub.docker.com/r/uber/android-build-environment/

    这是我在uber图像中更改的行以包含其他库

    ENV ANDROID_COMPONENTS platform-tools,android-23,android-24,build-tools-23.0.2,build-tools-24.0.0, extra-android-m2repository, extra-android-support, extra-google-admob_ads_sdk, extra-google-analytics_sdk_v2, extra-google-google_play_services_froyo, extra-google-google_play_services, extra-google-m2repository, extra-google-play_apk_expansion, extra-google-play_billing, extra-google-play_licensing, extra-google-webdriver
    

相关问题