Shader with lightmap works fine in editor but failed on Android devices

Hi, I’ve write a simple shader with lightmap which works fine in editor, but when published to Android devices, no lightmap effect shows at all, Here is the shade code:

// Upgrade NOTE: commented out 'float4 unity_LightmapST', a built-in variable
// Upgrade NOTE: commented out 'sampler2D unity_Lightmap', a built-in variable
// Upgrade NOTE: replaced tex2D unity_Lightmap with UNITY_SAMPLE_TEX2D

// 普通自发光材质

Shader "Custom/x1945/normal/unlit" {
    Properties {
        _MainTex ("Base (RGB)", 2D) = "white" {}
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        Lighting Off
        Fog { Mode Linear}
       
        Pass
        {
            CGPROGRAM
           
            #include "UnityCG.cginc"
            #pragma vertex vert
            #pragma fragment frag
            #pragma multi_compile_fog
            #pragma multi_compile LIGHTMAP_ON LIGHTMAP_OFF
           
            uniform sampler2D _MainTex;
            uniform float4 _MainTex_ST;
            // sampler2D unity_Lightmap;
            // float4 unity_LightmapST;
           
            struct v2f
            {
                float4 vertex : POSITION;
                float2 uv  : TEXCOORD0;
                #ifdef LIGHTMAP_ON
                float2 uv1 : TEXCOORD1;
                #endif
                UNITY_FOG_COORDS (2)
            };
           
            struct appdata_input
            {
                float4 vertex : POSITION;
                float2 texcoord : TEXCOORD0;
                #ifdef LIGHTMAP_ON
                float2 texcoord1 : TEXCOORD1;
                #endif
            };
           
            v2f vert (appdata_input input)
            {
                v2f o;
                o.vertex = mul (UNITY_MATRIX_MVP, input.vertex);
                o.uv = TRANSFORM_TEX (input.texcoord, _MainTex);
                #ifndef LIGHTMAP_OFF
                o.uv1 = input.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
                #endif
                UNITY_TRANSFER_FOG(o,o.vertex);
                return o;
            }
           
            fixed4 frag (v2f i) : COLOR
            {
                fixed4 texColor = tex2D (_MainTex, i.uv);
                #ifndef LIGHTMAP_OFF
                texColor.rgb *= DecodeLightmap (UNITY_SAMPLE_TEX2D (unity_Lightmap, i.uv1));
                #endif
               
                UNITY_APPLY_FOG (i.fogCoord, texColor);
                return texColor;
            }  
           
            ENDCG
        }
    }
    FallBack Off
}

Is there anything wrong with the shader? My unity version is 5.0.0f4.

I have tested the shader using Unity4.6 which works correct on mobile devices, however, neither 5.0.0f4 nor 5.0.1f1 works.