Secondly, the licence of the Android SDK isn't material, as generally speaking software created with the use of other software is not seen as a derivative work of that other software, and so the licence obligations don't transfer.
Thirdly, when you make a derivative of a work covered by GPLv2, s2 requires that
when you distribute [...] a work based on the Program, the
distribution of the whole must be on the terms of this License
So if you use a GPLv2 library (and you are happy that linking creates a derivative work, which is not a settled issue), you must release your binary under GPLv2. The importance of compatible licences is that you can combine code released under the other license with code released under the GNU GPL in one larger program. Since, as you say, Apache v2 is not compatible with GPLv2, you could not incorporate Apache-v2-licensed code into your GPLv2 binary.
But you can release it to run on a system which uses Apache v2 system libraries, because of the system library exception, which says that
If the GPL-incompatible libraries you want to use meet the criteria
for a system library, then you don't have to do anything special to
use them; the requirement to distribute source code for the whole
program does not include those libraries, even if you distribute a
linked executable containing them.
This is likely how other GPLv2-covered binaries are released for Android, which as you say is quite common.