【问题标题】:Android Studio 3.0.1 unknown element <user-permission> found发现 Android Studio 3.0.1 未知元素 <user-permission>
【发布时间】:2017-11-26 00:45:43
【问题描述】:

好的,我正在制作一个项目,该项目将使用我的本地主机来测试应用程序的用户名和密码。我收到 AndroidManifest.xml 的错误消息。它说:

错误:找到未知元素 [用户权限]。 找到未知元素 [用户权限]。

错误:java.util.concurrent.ExecutionException:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2 错误:查看日志了解详情

错误:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2 错误:查看日志了解详情

错误:com.android.tools.aapt2.Aapt2Exception:AAPT2 错误:查看日志了解详细信息 错误:任务“:app:processDebugResources”执行失败。 aapt 执行失败

可能是什么问题?

这里是 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=... >

<uses-sdk
    ... />

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

<application
    ... >
    <activity android:name="com.example.application.mysqldemo.MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <meta-data
        ... />
    <meta-data
        ... />

    <provider
        ... />
</application>

</manifest>

另外,由于 apache 上的防火墙问题,我使用 Xampp 作为我的本地主机,并且我使用端口 8080,而不是端口 80。那么,我可以访问这样的文件吗?:

String login_url = "http://10.0.2.2:8080/login.php"; 

【问题讨论】:

  • 元素属于 标签之外,作为 的直接子元素。 元素也是如此。

标签: android xml


【解决方案1】:
<user-permission android:name="android.permission.INTERNET" />

没有这样的元素。很可能,你想要&lt;uses-permission&gt;

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

那么,我可以访问这样的文件吗?:localhost:8080/login.php

不,假设localhost 是您的开发机器。你的开发机器不是你的安卓设备,也不是你的安卓模拟器。对于设备或在其他计算机上运行的模拟器,您将需要开发机器的实际 IP 地址。如果您在与此 Web 服务器相同的机器上使用 Android 模拟器,请将 localhost 替换为 10.0.2.2,如 the documentation 中所述。

【讨论】:

  • 我按照你所说的方式尝试了 代码并将其改回
  • @AlexH:很可能,you are accidentally editing the wrong manifest file,是由于 Android Studio 的一些愚蠢行为。确保您编辑的是 real 清单,而不是 IDE 的选项卡中弹出的任何内容。
  • 对不起,我还在编辑,我不是这个意思。我又更新了。我在 apache 上使用 8080 端口,所以我会使用 10.0.2.2:8080 对吗?
  • @AlexH:如果您在具有该 Web 服务器的开发机器上运行的模拟器中运行您的应用程序,那么是的,10.0.2.2:8080 是正确的地址和端口。
  • 好的,有道理,我在 debug/AndroidManifest.xml 文件中。现在可以了,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-06
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多