- Más nuevo
- Más votos
- Más comentarios
Hi pauliedoherty,
Device Farm's Android test host is configured today with an older version of build tools. It is possible to "bring your own" per se, and change the ANDROID_HOME location to the new upgraded tools that you've brought. The following code, added to a test spec file for custom environment mode (see https://docs.aws.amazon.com/devicefarm/latest/developerguide/custom-test-environments.html), in the install phase of the test, will download and configure version 24.0.3 of build tools for you:
# fix the android sdk build tools
- mkdir -p /home/device-farm/android-sdk-linux/build-tools
- ln -s /opt/dev/android-sdk-linux/add-ons /home/device-farm/android-sdk-linux/add-ons
- ln -s /opt/dev/android-sdk-linux/platforms /home/device-farm/android-sdk-linux/platforms
- ln -s /opt/dev/android-sdk-linux/platform-tools /home/device-farm/android-sdk-linux/platform-tools
- ln -s /opt/dev/android-sdk-linux/temp /home/device-farm/android-sdk-linux/temp
- ln -s /opt/dev/android-sdk-linux/tools /home/device-farm/android-sdk-linux/tools
- curl -L "https://aws-devicefarm-support.s3-us-west-2.amazonaws.com/new_build_tools.zip" -o /tmp/new_build_tools.zip
- unzip /tmp/new_build_tools.zip -d /home/device-farm/android-sdk-linux/build-tools
- export ANDROID_HOME=/home/device-farm/android-sdk-linux
Can you give this code a try, and let me know if this version, 24.0.3, will work for you? Otherwise, I can look into precompiling a zip file for 28.0.3 and posting that here as well.
Thanks,
Jon
Edited by: JonS-AWS on May 5, 2020 11:02 AM
Edited by: JonS-AWS on May 5, 2020 11:03 AM
Hey @simsjon, I was using the new build tools that you provided, but since a few days ago I started to get a 403 (Url: https://aws-devicefarm-support.s3-us-west-2.amazonaws.com/new_build_tools.zip)
Can you please provide the file again so I can upload to a private bucket ?
Thanks !
Hey,
Thank you so much for speedy solution.
I have 2 applications, one built with expo and one we build ourselves. This solution worked out of the box for our Expo application but are hitting an error with the our other app. I was hoping it would work for both ;) . I have left a comment on this thread regarding issue with other app - https://forums.aws.amazon.com/message.jspa?messageID=942262#942262. I do feel it's environment related because it there are no issues on my local. I will get more time to test and debug today.
Is there a plan to keep upgrading build-tools and appium version as releases are ongoing?
Hi,
I don't think of any reason why it should not have worked for both the cases. Let us know the issue you faced in case of the failure.
As for build-tools upgrade, we don't have any plans. However, we did upgrade the appium version recently.
Thanks
The second apps build config was set to a minimum sdk version of 24. Updating this to 21 did the trick. Thanks again for help on this. Both apps are now running :)
Hi JonS-AWS,
This thread is nearly a year old at this point, but I've run into the same issue. The suggested test spec updates do still work, but I'm wondering how stable this will be. Was this just a one-off to solve the OP's original issue? Or is this the defacto standard method to upgrade Android build-tools? Will build-tools be upgraded on the standard Device Farm images in the future?
Before finding this thread, I tried unsuccessfully to use the sdkmanager in /opt/dev/android-sdk-linux/tools/bin to upgrade to the latest build-tools package in-place. Should that have worked? Is there a trick to make it work?
TIA!
I am seeing chrome not reachable exception while switching context .chromedriver & chrome version seems to be in correct in the exceution run
https://us-west-2.console.aws.amazon.com/devicefarm/home?region=us-east-2#/projects/310b1ec6-ea89-4644-98f6-f3142813344a/runs/c8eee84e-546b-4016-8a80-c6624c6bb796/jobs/00001
can anybody help
Hey there,
I completely understand your sentiment and where you are coming from. I would say: use the workaround for now, and we will upgrade the default build tools in the future eventually making the workaround unnecessary.
Thanks,
jon
Hi there,
Thank you for reaching out.
Please use the following workaround:
- First, add the attached file to the root of your test package zip file.
- Then, add the following code to your test spec file’s install phase in order to fix the $DEVICEFARM_CHROMEDRIVER_EXECUTABLE:
[code]
- chrome_web_version=$(adb shell dumpsys package com.android.chrome | grep versionName | cut -d"=" -f2|sort |tail -n 1)
- >-
if [ $(echo $chrome_web_version | cut -d"." -f 1) -ge 70 ];
then
proper_chromedriver_version=$(curl -L https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$(python -c "import sys;print(".".join(sys.argv[-1].strip().split(".")[:-1]))" $chrome_web_version) 2> /dev/null )
curl -L "https://chromedriver.storage.googleapis.com/$proper_chromedriver_version/chromedriver_linux64.zip" -o /tmp/chromedriver_linux64_new.zip 2> /dev/null;
unzip /tmp/chromedriver_linux64_new.zip -d /tmp >/dev/null;
mv /tmp/chromedriver $(echo "$DEVICEFARM_CHROMEDRIVER_EXECUTABLE"-orig);
rm -rf $DEVICEFARM_CHROMEDRIVER_EXECUTABLE;
cp $DEVICEFARM_TEST_PACKAGE_PATH/chromedriver-new-wrapper* $DEVICEFARM_CHROMEDRIVER_EXECUTABLE;
chmod +x $DEVICEFARM_CHROMEDRIVER_EXECUTABLE;
$DEVICEFARM_CHROMEDRIVER_EXECUTABLE -v;
else
echo "Defaulting to devicefarm chromedriver version";
fi;
[/code]
Let me know your thoughts,
Thank you,
Jon
Note; there was a bug in the previous code so that it only worked for native and hybrid apps. This has now been fixed to work with web apps.
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 2 años
Hi, I'm wondering how it's possible to update adb without killing the existing adb server.
Running
adb kill-server
in install phase gives me this output:adb kill-server
is not permitted. If I don't kill, then runningadb devices
after downloading new adb gives me:Please suggest - how do I proceed here?