That looks like an simple SetSpriteUvBorder(Spike_Sprite,0.5) issue.
You get issues like this when android devices scale down an image to fit the screen also and is usually fixed with set sprite uv border.
SetSpriteUVBorder
Description
Controls how the sprite handles UVs that might extend beyond the bounds of the image during sampling, for example when the edge of the sprite is halfway across a pixel. By default (border=0.5) the sprite compensates for this by offsetting UV coords by 0.5 pixels inwards, however this means that the outer most pixels of the sprite's image may not show. border=0 removes this offset creating a pixel perfect reproduction of the image, but this may cause texture seams when trying to line up sprites of the same image that don't fall exactly on a whole pixel. Setting the border to 0 may also cause animated sprites, or sprites using a texture atlas, to 'steal' pixels from neighbouring images. You may also increase this effect by setting the border greater than 0.5 pixels.
Definition
SetSpriteUVBorder( iSpriteIndex, border )
Parameters
•iSpriteIndex - The ID of the sprite to modify.
•border - 0=half pixel offset, 1=no pixel offset
Android 2.3 , ZTE Skate , 480x800 , 800 mhz , Samsung Galaxy Y , 240x320 , 832 mhz , Sony ericson arc 480x854 , 1 ghz
Android 4.0 , Dmtech 3g 9738B , 1024x768 , 9.7 inches , 1.2 ghz