According to me the mystery remains in what I already do I make an exchange. Byte but not the color. 
ColoreX = Colors.RGB (B, G, R) 
and not 
ColoreX = Colors.RGB (R, G, B) 
I reiterate that the code is always the same, emulator or physical device. 
For the pair of bytes number  2830 the 3 following instructions 
B1 = buffer (s) : B2 = buffer (i + 1) : H = Bit.AND (B1, 255) * 256 + Bit.AND (B2, 255) 
produced to smartphone 
B1 = -128 
B2 = 0 
H = 32768 
and to emulator 
B1 = 6 
B2 = -10 
H = 1768