Java XML解析器触发AV警报

Java XML解析器触发AV警报,java,android,xml,antivirus,malware,Java,Android,Xml,Antivirus,Malware,我正在开发一个Android应用程序,它从一个在线XML文件中读取当前的货币汇率,并通过W3CDOM进行解析。该文件位于我的AWS S3存储器中 解析器工作正常,我得到了我想要的所有费率,但我的防病毒应用程序(avast!)一直将我的应用程序标记为恶意软件(Android:Agent YI[Trj])。当我注释掉代码时,我使用的方法只返回trueAV保持安静,因此我将其缩小到下面的代码 有人知道为什么AV不接受我的代码吗?应用程序的唯一权限是: <uses-permission andro

我正在开发一个Android应用程序,它从一个在线XML文件中读取当前的货币汇率,并通过W3CDOM进行解析。该文件位于我的AWS S3存储器中

解析器工作正常,我得到了我想要的所有费率,但我的防病毒应用程序(avast!)一直将我的应用程序标记为恶意软件(Android:Agent YI[Trj])。当我注释掉代码时,我使用的方法只返回
true
AV保持安静,因此我将其缩小到下面的代码

有人知道为什么AV不接受我的代码吗?应用程序的唯一权限是:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

解析器代码:

public static boolean fetchCurrencyRates(String in)
{
    boolean success = true;

    HashMap<String, Double> onlineRates = new HashMap<String, Double>();

    try
    {
        Document xmlRates = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);
        xmlRates.getDocumentElement().normalize();

        NodeList xmlItems = xmlRates.getElementsByTagName("item");

        for(int i = 0; i < xmlItems.getLength(); i++)
        {
            Node n = xmlItems.item(i);

            if(n != null && n.getNodeType() == Node.ELEMENT_NODE)
            {
                Element currency = (Element) n;

                String code = currency.getElementsByTagName("title").item(0)
                                                                    .getTextContent()
                                                                    .substring(0, 3);

                String rate = currency.getElementsByTagName("description").item(0)
                                                                          .getTextContent()
                                                                          .split(" ")[3];

                Log.i("DEV", code + ": " + rate);
                onlineRates.put(code, Double.parseDouble(rate.replaceAll(",", "")));
            }
        }
    }
    catch(Exception e)
    {
        Log.e("DEV", e.getMessage();
        success = false;
    }

    return success && !onlineRates.isEmpty();
}
公共静态布尔fetchCurrencyRates(字符串输入)
{
布尔成功=真;
HashMap onlineRates=新的HashMap();
尝试
{
Document xmlRates=DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);
xmlRates.getDocumentElement().normalize();
NodeList xmlItems=xmlRates.getElementsByTagName(“项”);
对于(int i=0;i

我还尝试按照Android文档的建议使用
XmlPullParser
,但遇到了同样的问题。

我找到了AV不喜欢我的代码的原因。显然,XML解析根本没有导致问题


为了加载数据,我使用了一个
AsyncTask
,但没有实现任何视觉反馈(
ProgessDialog
)。仅此一项就足以满足AV警报的要求。

我找到了AV不喜欢我的代码的原因。显然,XML解析根本没有导致问题

为了加载数据,我使用了一个
AsyncTask
,但没有实现任何视觉反馈(
ProgessDialog
),仅此一项就足以实现AV警报