Unity app works on development build, not on normal one
<p>I created a very simple RSS feed reader. For now, it's very basic. One problem I've encountered is that the app doesn't work on Android unless it's development build.</p>

<p>The RSS feed should output the feed as GUI. It does that in Unity Editor and in PC build. But, it works on Android build only if it is set as development build, otherwise it just shows the "RSS Reader" label that's hard coded as GUI.</p>

<p>There are no errors, it doesn't crash or freeze, which is really odd.</p>

<p>I think the problem is in setup time. When I make the setup take more time, it works even without development build. But I'm not sure what the actual problem is that causes this.</p>

<p>Here is the relevant script:</p>

<pre><code>using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using System.Xml;

public class rsstester : MonoBehaviour
{
    public GameObject newsItemObject;

    XmlTextReader rssReader;
    XmlDocument rssDoc;

    string feedUrl = "http://feeds.reuters.com/Reuters/worldNews?format=xml";

    void Start() {
        rssReader = new XmlTextReader (feedUrl);
        rssDoc = new XmlDocument ();
        rssDoc.Load (rssReader);

        XmlNode rssNode = null;

        for (int i = 0; i &lt; rssDoc.ChildNodes.Count; i++) {
            XmlNode childNode = rssDoc.ChildNodes [i];
            if (childNode.Name == "rss") {
                rssNode = childNode;
                break;
            }
        }

        XmlNode channelNode = null;

        if (rssNode != null) {
            for (int i = 0; i &lt; rssNode.ChildNodes.Count; i++) {
                XmlNode childNode = rssNode.ChildNodes [i];

                if (childNode.Name == "channel") {
                    channelNode = childNode;
                    break;
                }
            }
        }

        List&lt;XmlNode&gt; newsItems = new List&lt;XmlNode&gt; ();

        if (channelNode != null) {
            for (int i = 0; i &lt; channelNode.ChildNodes.Count; i++) {
                XmlNode childNode = channelNode.ChildNodes [i];

                if (childNode.Name == "item") {
                    newsItems.Add (childNode);
                }
            }
        }

        foreach (XmlNode newsItem in newsItems) {
            string title = newsItem ["title"].InnerText;
            string description = newsItem ["description"].InnerText;
            string link = newsItem ["link"].InnerText;

            GameObject childObject = Instantiate(newsItemObject) as GameObject;
            childObject.transform.SetParent(gameObject.transform, false);

            childObject.transform.Find ("Title").gameObject.GetComponent&lt;Text&gt; ().text = title;
            childObject.transform.Find ("Title").gameObject.GetComponent&lt;LinkClick&gt; ().link = link;
            childObject.transform.Find ("Description").gameObject.GetComponent&lt;Text&gt; ().text = description;
        }
    }
}
</code></pre>

<p>Here is the <a href="https://docs.google.com/uc?authuser=0&amp;id=0B8lPhuqvdZhneTdGMllqeTVjSEk&amp;export=download" rel="nofollow">unity package</a></p>

<p>Here are the APKs:</p>

<ul>
<li>ARMv7

<ul>
<li><a href="https://docs.google.com/uc?authuser=0&amp;id=0B8lPhuqvdZhnX2loT09DZ0dZbDA&amp;export=download" rel="nofollow">Normal</a> (~11MB)</li>
<li><a href="https://docs.google.com/uc?authuser=0&amp;id=0B8lPhuqvdZhnV1lrS2JYbWRiYnM&amp;export=download" rel="nofollow">Dev</a> (~14MB)</li>
</ul></li>
<li>x86

<ul>
<li><a href="https://docs.google.com/uc?authuser=0&amp;id=0B8lPhuqvdZhndlk3TlIxcVF4UVU&amp;export=download" rel="nofollow">Normal</a> (~12MB)</li>
<li><a href="https://docs.google.com/uc?authuser=0&amp;id=0B8lPhuqvdZhnNGFZNE5tYlllLUU&amp;export=download" rel="nofollow">Dev</a> (~14MB)</li>
</ul></li>
<li>FAT (ARMv7 + x86)

<ul>
<li><a href="https://docs.google.com/uc?authuser=0&amp;id=0B8lPhuqvdZhnMGhROXVuNmk1V1k&amp;export=download" rel="nofollow">Normal</a> (~20MB)</li>
<li><a href="https://docs.google.com/uc?authuser=0&amp;id=0B8lPhuqvdZhnc25OX1VXd2c4Skk&amp;export=download" rel="nofollow">Dev</a> (~24MB)</li>
</ul></li>
</ul>

<p><strong>Edit</strong>:</p>

<blockquote>
  <p>Assets will often include AndroidManifest. Are you sure that this is not related with permissions?</p>
</blockquote>

<p>It doesn't seem to have anything close to that. No <code>.xml</code> files at all. Oddly enough, the app works when I only import the C# files from the package.</p>

<p>Here is the <a href="https://docs.google.com/uc?authuser=0&amp;id=0B8lPhuqvdZhnWGtMU01wOE1zYUE&amp;export=download" rel="nofollow">unity package</a> with the scripts and here are the C# files themselves: <a href="https://drive.google.com/file/d/0B8lPhuqvdZhnQkxvVmg2TUNGeFk/view?usp=sharing" rel="nofollow">1</a> <a href="https://drive.google.com/file/d/0B8lPhuqvdZhnMmUyLW51U21CUUk/view?usp=sharing" rel="nofollow">2</a> <a href="https://drive.google.com/file/d/0B8lPhuqvdZhnQ2JLTXpvTVpPelE/view?usp=sharing" rel="nofollow">3</a> <a href="https://drive.google.com/file/d/0B8lPhuqvdZhncDFqdG9HUGw2bjQ/view?usp=sharing" rel="nofollow">4</a></p>

<p><strong>Edit #2</strong>:</p>

<p>After some trial and error, I found out which file is needed to make the app work. I have no clue how this can be possible.</p>

<p>Here it is: <a href="https://drive.google.com/file/d/0B8lPhuqvdZhnZ2UzdENTQ1BVUnM/view?usp=sharing" rel="nofollow">Reporter.cs</a></p>