commit | 9577176310df2a97c5b812c4012cc4d3ee6af7f0 | [log] [tgz] |
---|---|---|
author | David Duarte <licorne@google.com> | Mon Nov 28 19:07:43 2022 +0000 |
committer | Thomas Girardier <girardier@google.com> | Tue Dec 13 02:31:11 2022 +0000 |
tree | 5f3be90150e8376640e27aade2f03e39b1be1bbc | |
parent | 9cc9ce67245a38bdacae78a0defe967ce4246495 [diff] |
modem_simulator: Reuse active call indexes Android Telephony stack have a hard limit on number of active calls. https://cs.android.com/android/platform/superproject/+/master:frameworks/opt/telephony/src/java/com/android/internal/telephony/GsmCdmaCallTracker.java;l=69;drc=ba17c7243d0e297efbc6fb5385d6d5aa81db9152 This limit makes that `handlePollCalls` only look for active calls with an index <= `LIMIT (19) + 1`. As modem_simulator was always increasing active calls indexes this means that after 20 calls, Android will ignore new calls. To fix that we instead reuse indexes of calls that where hang up. Bug: 245578454 Ignore-AOSP-First: cherry-pick from AOSP Test: atest pts-bot:HFP Change-Id: Ib8356db812f0e150d0b175cd0085fbd4a4dbd73b Merged-In: Ib8356db812f0e150d0b175cd0085fbd4a4dbd73b
Make sure virtualization with KVM is available.
grep -c -w "vmx\|svm" /proc/cpuinfo
This should return a non-zero value. If running on a cloud machine, this may take cloud-vendor-specific steps to enable. For Google Compute Engine specifically, see the GCE guide.
ARM specific steps:
/dev/kvm
. Note that this method can also be used to confirm support of KVM on any environment.Download, build, and install the host debian package:
sudo apt install -y git devscripts config-package-dev debhelper-compat golang git clone https://github.com/google/android-cuttlefish cd android-cuttlefish debuild -i -us -uc -b -d sudo dpkg -i ../cuttlefish-common_*_*64.deb || sudo apt-get install -f sudo usermod -aG kvm,cvdnetwork,render $USER sudo reboot
The reboot will trigger installing additional kernel modules and applying udev rules.
Go to http://ci.android.com/
Enter a branch name. Start with aosp-master
if you don‘t know what you’re looking for
Navigate to aosp_cf_x86_64_phone
and click on userdebug
for the latest build
aosp-master-throttled-copped
and device target aosp_cf_arm64_only_phone-userdebug
Click on Artifacts
Scroll down to the OTA images. These packages look like aosp_cf_x86_64_phone-img-xxxxxx.zip
-- it will always have img
in the name. Download this file
Scroll down to cvd-host_package.tar.gz
. You should always download a host package from the same build as your images.
On your local system, combine the packages:
mkdir cf cd cf tar xvf /path/to/cvd-host_package.tar.gz unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
Launch cuttlefish with:
$ HOME=$PWD ./bin/launch_cvd
You can use adb
to debug it, just like a physical device:
$ ./bin/adb -e shell
When launching with ---start_webrtc
(the default), you can see a list of all available devices at https://localhost:8443
. For more information, see the WebRTC on Cuttlefish documentation.
You will need to stop the virtual device within the same directory as you used to launch the device.
`$ HOME=$PWD ./bin/stop_cvd`