RenderTexture and Readpixels android problem.

This is where I stuck. Basicly i trying to make “ShareMyScore-Image”, an image with current score, when player loose.
While everything works just fine in editor, on android device i got black screen.
What am I doing wrong?

        SecondCamera.aspect = 1.0f;
        Texture2D virtualPhoto = new Texture2D(1024, 1024, TextureFormat.RGB24,false);      
        SecondCamera.enabled = true;
        RenderTexture.active = ScreenShot; //public link RenderTexture
        SecondCamera.Render();   
        virtualPhoto.ReadPixels(new Rect(0, 0, virtualPhoto.width, virtualPhoto.height), 0, 0,false);
        virtualPhoto.Apply();
        SecondCamera.enabled = false;

        File.WriteAllBytes(Application.persistentDataPath + "/1.png", virtualPhoto.EncodeToPNG());

I was dealing with the same problem. It seemed to get fixed by making sure there is always something rendering to the rendertexture e.g. a small image, or for a more clean solution, a solid black background.

I’m not sure why this made a difference, maybe the texture gets internally disabled on some platforms if it’s fully transparent when Unity boots up?

Would appreciate if someone can figure out more about this, but I’ll post this solution in case it can help someone.

Me too:
RenderTexture.Create failed: format unsupported - 2.

error at:
mTexShadow2D.ReadPixels(mRectCopy, 1, 1);

Unity 2017.3.1f
Only occur with my Android tablet, on my android phone it runs Ok.

Umm, you are literally just creating a blank 1024x1024 image, reading the blank pixels, applying the still blank pixels, and then serializing it.
Nowhere are you assigning pixels to the virtualPhoto, or assigning it as a render texture. It will always be a black image.