That's strange, nothing should have affected it. Did you check the force 2.0 checkbox that was new in 0.26? Try changing it and see if it works
Yes both on and off.
Do you have a version control system? If you do, it would be nice to see what changed in the shader from the time that it worked, to now
Yes we do, I will have a look and get back to you
Hi, 
I have done some testing and it is very strange....

in 0.27 the there is the following code:
Properties {
__MainTex ("_MainTex", 2D) = "white" {}
__BlendTex ("_BlendTex", 2D) = "white" {}
__SplatTex ("_SplatTex", 2D) = "black" {}
__Color ("_Color", Color) = (0.5,0.5,0.5,1)
}

uniform sampler2D __MainTex; uniform float4 __MainTex_ST;
uniform sampler2D __BlendTex; uniform float4 __BlendTex_ST;
uniform sampler2D __SplatTex; uniform float4 __SplatTex_ST;
uniform float4 __Color;

in 0.25 the same code is:
Properties {
_MainTex ("_MainTex", 2D) = "white" {}
_BlendTex ("_BlendTex", 2D) = "white" {}
_SplatTex ("_SplatTex", 2D) = "black" {}
_Color ("_Color", Color) = (0.5,0.5,0.5,1)
}

uniform sampler2D _MainTex; uniform float4 _MainTex_ST;
uniform sampler2D _BlendTex; uniform float4 _BlendTex_ST;
uniform sampler2D _SplatTex; uniform float4 _SplatTex_ST;
uniform float4 _Color;

Notice the single _ in 0.25.

In 0.27 all the variable names which had a single _ in 0.25 now have a double __ instead.
This is the only difference I can see.

If i go into 0.27 and replace all __ for _ it works fine on android?

I hope this make sense?

I can send you both shaders if you like to see for yourself?

Andrew
Oh, strange, looks like something went wrong when deserializing... Strange. Did you remove all the double underscores in SF or manually in code?
In the shader code.
Did the shader property names have an underscore in SF as well? (I which case the internal name on the right of the property nodes, should show a double-underscore)
Yes in SF I have a single _ in front of each name.
Strange. You really shouldn't have that :(
Removing it should fix the issue, though you may have to re-assign all material parameters again
I named it _MainTex to match unity's naming convention for the main texture.
I thought I would have to do this for the diffuse fallback so it would know the texture to use?
If you name it MainTex, the internal name becomes _MainTex automatically :)
So if you add an underscore manually, it will make another one
Ok, I will give that a go. Thanks!
Yes. I updated to 0.27 removed the _ from my names and build for Android and all works as expected.

Very strange how this problem only effects Android not PC ;-)

Thanks for your help.