Problem with SDL_PIXELFORMAT_RGBA8888 on Android

I create a background texture and load and then draw a map PNG in to it as the background for my Risk game clone, which then gets drawn to the screen later. If I use:

m_pTexture = SDL_CreateTexture(pRenderer,
SDL_PIXELFORMAT_RGBA8888,
SDL_TEXTUREACCESS_TARGET,
iWidth,
iHeight);

it fails to draw the PNG into the background buffer for some (but not all) of the map PNGs, although all SDL functions return 0. But, if I change the format to SDL_PIXELFORMAT_ARGB8888 all PNGs draw fine.

This problem happens when I use the code for the Android build, on the Windows build (with the same code and PNGs) it all works with either format.

I’m using SDL 2.32.8 and SDL2_image 2.8.8 on Android