Unity应用程序适用于开发构建,而不是正常构建

时间:2016-08-11 10:38:16

标签: android unity3d

我创建了一个非常简单的RSS提要阅读器。现在,这是非常基本的。我遇到的一个问题是该应用程序无法在Android上运行,除非它是开发版本。

RSS Feed应该以​​GUI形式输出Feed。它在Unity Editor和PC构建中实现了这一点。但是,只有当它被设置为开发构建时才适用于Android构建,否则它只显示硬编码为GUI的“RSS阅读器”标签。

没有错误,它不会崩溃或冻结,这真的很奇怪。

我认为问题出在设置时间上。当我进行设置需要更多时间时,即使没有开发构建也能正常工作。但我不确定导致这个问题的实际问题是什么。

以下是相关脚本:

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 < 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 < rssNode.ChildNodes.Count; i++) {
                XmlNode childNode = rssNode.ChildNodes [i];

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

        List<XmlNode> newsItems = new List<XmlNode> ();

        if (channelNode != null) {
            for (int i = 0; i < 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<Text> ().text = title;
            childObject.transform.Find ("Title").gameObject.GetComponent<LinkClick> ().link = link;
            childObject.transform.Find ("Description").gameObject.GetComponent<Text> ().text = description;
        }
    }
}

以下是unity package

以下是APK:

修改

  

资产通常包括AndroidManifest。您确定这与权限无关吗?

它似乎没有任何接近的东西。根本没有.xml个文件。奇怪的是,当我只从包中导入C#文件时,该应用程序可以运行。

以下是包含脚本的unity package,以下是C#文件:1 2 3 4

编辑#2

经过一些试验和错误,我发现了使应用程序运行所需的文件。我不知道这是怎么可能的。

这是:Reporter.cs

0 个答案:

没有答案
相关问题