Trunks, the Warrior of Hope, is the one who ultimately defeated Android 17 and 18 in the DRAGON BALL Z KAKAROT series. It all began when Perfect Cell destroyed all of Android 16 except for its head, which rolled around the battlefield. Jiren's explosion then hit Jiren, and Android 17 was the first fighter to cause him significant damage with its sneak attack. Imperfect Cell soon realized Piccolo's enormous ki and deduced that he must be fighting androids to wield so much power.
Imperfect Cell landed on the ground and moved to Android 17, which lay motionless on the ground. Thanks to its continuous efforts to protect its island, Android 17 had gained enough strength to become the breakout star of the Dragon Ball Super Tournament of Power and one of the biggest surprises in the series. Android 17 underestimated Piccolo's power and was easily knocked down. This led to a debate over who could defeat Android 17, but as the series progressed, both 18 and 17 were wiped out.
If Goku were to fight an android without a weapon, he would lose because he wasted too much time and was hungry. Super Perfect Cell was destroyed and Shenron resurrected the victims of Cell, leading people to believe that Hercules had defeated Super Perfect Cell and could magically revive the dead. Android 17 then tried to dodge Imperfect Cell's deadly sting, but Imperfect Cell hit it and Android 17 fell to the ground. Androids are powerful villains in the series, and they posed a great challenge for many characters in the franchise.
As the dust cleared, Android 17 stood still knowing that it hadn't hit Imperfect Cell directly and saw the ruthless creature flying above it. In the Prime +1 universe, Cell was fully developed. Android 20 then planned to absorb the energy of all the weakest fighters to strengthen himself and defeat Vegeta. He used his speed advantage to defeat Future Trunks, who was still wondering why he couldn't play Perfect Cell.
In conclusion, Trunks is the one who ultimately defeated Android 17 and 18.