Tag: android

无法在Docker容器中运行android模拟器

我试图运行Android模拟器来运行一些testing。 我有一个包含Android SDK的Docker容器,包含构build工具,平台工具等等。 我已经成功创build了AVD: jenkins@b4c6c9cee181:/$ android list avd Available Android Virtual Devices: Name: hudson_de-DE_160_HVGA_android-24_armeabi-v7a Path: /home/jenkins/.android/avd/hudson_de-DE_160_HVGA_android-24_armeabi-v7a.avd Target: Android 7.0 (API level 24) Tag/ABI: default/armeabi-v7a Skin: hvga Sdcard: 200M Snapshot: true jenkins@b4c6c9cee181:/$ 当我尝试启动一个模拟器时,显示如下: jenkins@b4c6c9cee181:/$ /usr/local/android-sdk-linux/tools/emulator -ports 5750,5751 -report-console tcp:5813,max=60 -prop persist.sys.language=de -prop persist.sys.country=DE -avd hudson_de-DE_160_HVGA_android-24_armeabi-v7a -no-snapshot-load -no-snapshot-save -no-window -noaudio -verbose emulator: found ANDROID_SDK_ROOT: /usr/local/android-sdk-linux emulator: Android […]

如何从Android模拟器到Docker机器的容器?

我有一台安装了Docker Toolbox的Windows笔记本电脑。 所以我的后端服务生活在docker集装箱。 另外,我有一个安装了客户端应用程序的Android模拟器。 我知道我可以通过使用10.0.2.2地址从Android模拟器获得主机的环回。 问题是,docker机器有它自己的地址:192.168.99.100(默认)。 如何使这项工作? 基本上,我想从模拟器调用192.168.99.100:8080。 它在安装在Windows上的邮差工作正常,但据我了解,这是完全不同的networking,这是它不能正常工作的原因。

在Docker容器中运行时零星的Robolectrictesting失败

我正试图将我们的Android团队转移到基于云的CI解决scheme上。 公司内的其他部门已经完成了这项任务,并且我们有一个企业团队许可证,利用安装了Docker的Linux EC2。 整个公司都使用TC,虽然CircleCI等是很好的select,但我正在探索使用我们自己的TC解决scheme。 到目前为止,它已经很好,并使用Amazon ECR我们托pipe了我们的Docker镜像,其中安装了所需的Android SDK,Gradle和Java组件。 我们的构build大部分时间都是好的,但是由于运行一些Robolectrictesting案例时出现错误,我们的实际本地代理仍然失败。 有没有人见过这个? java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: Landroid/content/res/Resources; java.lang.NoClassDefFoundError: Landroid/content/res/Resources; at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2583) at java.lang.Class.getDeclaredFields(Class.java:1916) at org.junit.runners.model.TestClass.getSortedDeclaredFields(TestClass.java:77) at org.junit.runners.model.TestClass.scanAnnotatedMembers(TestClass.java:70) at org.junit.runners.model.TestClass.<init>(TestClass.java:57) at org.junit.runners.ParentRunner.createTestClass(ParentRunner.java:88) at org.junit.runners.ParentRunner.<init>(ParentRunner.java:83) at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) at org.robolectric.internal.SandboxTestRunner$HelperTestRunner.<init>(SandboxTestRunner.java:242) at org.robolectric.RobolectricTestRunner$HelperTestRunner.<init>(RobolectricTestRunner.java:467) at org.robolectric.RobolectricTestRunner.getHelperTestRunner(RobolectricTestRunner.java:319) at org.robolectric.internal.SandboxTestRunner$2.evaluate(SandboxTestRunner.java:188) at org.robolectric.internal.SandboxTestRunner.runChild(SandboxTestRunner.java:109) at org.robolectric.internal.SandboxTestRunner.runChild(SandboxTestRunner.java:36) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) […]

在Docker容器(在VM中)无法启动Android模拟器x86_64

我有一个VM(Debian Stable)里面使用Docker。 我想在Docker容器中运行x86_64的Android模拟器。 以下是Docker镜像的构build方式: FROM debian:stable RUN apt-get update && apt-get install –yes curl unzip openjdk-8-jdk libqt5widgets5 RUN useradd foo –shell /bin/bash –create-home –user-group USER foo WORKDIR /home/foo RUN curl –output sdk-tools-linux.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip RUN unzip sdk-tools-linux.zip && rm sdk-tools-linux.zip RUN yes | tools/bin/sdkmanager 'system-images;android-24;default;x86_64' 'emulator' 'build-tools;26.0.1' 'platform-tools' 'platforms;android-24' RUN echo no | tools/bin/avdmanager create avd […]

移动现有的Android模拟器(AVD)到Docker容器

我需要包括现有的Android模拟器与其中包含的更改(qcow2文件)泊坞窗图像。 sorting: 1)通过Android Studio创build一个模拟器 2)使用-writable-system选项运行它 emulator -avd xposed -writable-system 3)进行必要的更改(Xposed安装,某些模块,SD卡上的数据logging等)。 所有写入qcow2文件(system.img.qcow2,sdcard.img.qcow2等) 4)停止仿真器 5)存档 cd /home/user/.android/avd && tar -cvzf xposed.tar.gz . 6)在docker文件中: ADD xposed.tar.gz /root/.android/avd 7)在xposed.ini更改模拟器实例的绝对path path=/root/.android/avd/xposed.avd 当试图在docker里面运行模拟器时 – 重新创build包含更改的qcow2文件,而不是使用现有的。 🙁 我得到了相同的android-sdk工具和模拟器版本,相同的JDK等等。 也试图改变harware-qemu.ini中的path到新的path( /root/.android/avd/xposed/…. ),但没有运气。 关于系统和docker的一些信息: 1)Android版本23(6.0)x86 google_apis图片 2)运行docker命令: sudo docker run -d -p 5900:5900 -p 5555:5555 –privileged -v /dev/kvm:/dev/kvm –name xposed xposed 3)运行android模拟器命令: usr/local/android-sdk/emulator/emulator -avd […]

将USB Android设备从Windows 10主机安装到Docker容器

我有完全相同的问题( 通过adb连接到Docker容器中的USB Android设备 ),但我的主机是Windows 10。 主机上的Adb设备显示连接的Android手机,但运行我的泊坞窗图像的容器不显示任何列出的设备。 这是我如何运行我的容器: docker run -d -p 4723:4723 –privileged -v /dev/bus/usb:/dev/bus/usb -e APPIUM_ARGS="" –name appium0922_1 softsam/appium appium0922_1是我的容器的名称。 softsam / appium是容器正在运行的映像的名称。 另一篇文章build议运行在设备上的ADB守护进程可以连接到两个adb服务器。 尝试从主机的adb断开连接,然后将其连接到docker的adb。 任何其他的想法?

Android / busybox / termuxtestingenvionment

我正在开发一些在Linux / BSD / Mac / Windows上运行的bash脚本。 我想将它们移植到busybox环境中,让它们在androidterminal模拟器(如termux)中运行。 获取busybox / androidtesting环境的最佳方法是什么? 我试图去与docker的busybox图像。 我还需要能够添加工具,如ssh客户端或rsync,它通过apt install rsync工作在android termux中,但不会在docker镜像中工作,原因很明显。 有任何想法吗 ? 谢谢。

你有任何资源解释如何使用Firebasetesting实验室与GitLabpipe道?

我想在Firebasetesting实验室中使用espresso运行仪器testing,每次提交给GitLab中的一个分支。 我已经使用Docker和Fastlane构build,部署和发布了应用程序,但是我无法在Google上find任何将testing实验室与这些工具集成在一起的东西。 你们知道什么,我可以用它来实现与GitLab的CI系统一起运行仪器testing吗?

从Android应用程序访问docker机

我试图运行我的应用程序最终testing阶段,我必须使用几个使用本地networking的Android手机访问在同一networking中的一台服务器上运行的Web服务。 首先,Android SO不允许访问本地networking中的任何types的服务。 唯一的方法就是在电话上启用共享,然后创build一个热点,然后将服务器连接到这个热点。 完成! 此外,容器机器外的其他主机(包括Android手机)无法访问Docker机器。 为了使我能够使用Virtualboxconfiguration创build第三个适配器并将其configuration为桥接networking。 好! 到目前为止,我有一个Android手机访问本地networking和本地networking中的任何主机可到达的docker集装箱,但在我看来,我不能同时拥有两个,我不明白为什么! 当Docker容器使用桥接的第三个适配器连接到networking(常规networking)时,我可以通过此networking中的任何计算机访问它! 但是,当Docker容器连接到Android手机热点时,我无法启动任何图像,也无法使用快速入门terminal访问Docker主机。 我在这里错过了一些东西,但正如我所说,我无法弄清楚什么! 有人有什么想法? 提前致谢!

Android ABI链接到错误的目标

我正在通过terminal在Linux上安装Android SDK,如下所示: ENV ANDROID_SDK_FILENAME android-sdk_r24.4.1-linux.tgz ENV ANDROID_SDK_URL http://dl.google.com/android/${ANDROID_SDK_FILENAME} ENV ANDROID_API_LEVELS android-23 ENV ANDROID_BUILD_TOOLS_VERSION 24.0.1 ENV ANDROID_HOME /opt/android-sdk-linux ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools RUN cd /opt && \ wget -q ${ANDROID_SDK_URL} && \ tar -xzf ${ANDROID_SDK_FILENAME} && \ rm ${ANDROID_SDK_FILENAME} RUN echo y | android update sdk –no-ui –all –filter tools –force RUN echo y | android update […]