提问人:xvlaze 提问时间:7/29/2021 最后编辑:xvlaze 更新时间:6/16/2022 访问量:2723
将 Gradle 更新到 7.0.2 后,元素类型“manifest”后面必须跟属性规范、“>”或“/>”错误
After updating Gradle to 7.0.2, Element type “manifest” must be followed by either attribute specifications, “>” or “/>” error
问:
所以今天我把Android Studio更新为:
Android Studio Arctic Fox | 2020.3.1
Build #AI-203.7717.56.2031.7583922, built on July 26, 2021
我收到“Android Gradle 插件可以升级”通知。
到目前为止,我一直在使用:
Android Gradle Plugin: 4.2.2
Gradle: 6.9
Java: 8
但是,升级后,我遇到了问题的错误。
我的清单文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hsd.contest.spain.clover.huawei">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<receiver
android:name=".AlarmReceiver"
android:enabled="true"
android:exported="false" />
<activity
android:name=".ConsumeActivity"
android:excludeFromRecents="true"
android:launchMode="singleTask"
android:taskAffinity="" />
<activity android:name=".MapActivity" />
<activity
android:name=".SetTimeActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait" />
<activity
android:name=".ActivityAddFreq"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait" />
<activity
android:name=".ConfigActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait" />
<activity
android:name=".SplashActivity"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleInstance"
android:screenOrientation="portrait"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait" />
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
</application>
</manifest>
你对为什么会发生这种情况有任何想法吗? 有趣的事实:这个错误只发生在这个项目中。
编辑我的华为 API 依赖项如下: 模块 build.gradle
implementation 'com.huawei.agconnect:agconnect-core:1.5.0.300'
implementation 'com.huawei.hms:awareness:1.0.7.303'
implementation 'com.huawei.hms:ml-computer-vision-ocr:2.0.5.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:2.0.5.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:2.0.5.300'
implementation 'com.huawei.hms:location:5.0.4.300'
implementation 'com.huawei.hms:maps:4.0.0.301'
implementation 'com.huawei.hms:site:5.0.5.301'
implementation 'com.huawei.hms:hianalytics:5.0.3.300'
implementation 'com.huawei.hms:ads-lite:13.4.41.304'
项目 build.gradle
classpath 'com.huawei.agconnect:agcp:1.4.2.300'
答:
4赞
ΓDΛ
7/29/2021
#1
遇到了同样的问题。更新华为服务。请多多保重。 请记住将依赖项保留在最新版本上。 此问题发生在 Merged-Manifest 上。
implementation 'com.huawei.agconnect:agconnect-core:1.4.0.300'
请使用。-> 1.5.0.300
评论
0赞
xvlaze
7/29/2021
感谢您的快速回复。我连接到AppGalleryConnect并重新下载agconnect-services.json,但没有任何快乐。另外,Gradle 并没有告诉我我的任何华为依赖项都已经过时了。出于信息目的,我附上了安装 AGConnect Core 的行:implementation 'com.huawei.agconnect:agconnect-core:1.4.0.300'
0赞
xvlaze
7/30/2021
谢谢!但不幸的是,它仍然不起作用。
0赞
PedroAGSantos
7/30/2021
这也无济于事,我们确实有同样的问题。有什么解决办法吗?
1赞
ΓDΛ
7/30/2021
在文本编辑器中编辑和重新定义所有模块中的清单标签。
0赞
xvlaze
7/30/2021
你是说用手打字?
20赞
PedroAGSantos
7/30/2021
#2
我通过使用试错版本找到的真正解决方案是
implementation 'com.huawei.agconnect:agcp:1.5.2.300'
评论
0赞
xvlaze
7/30/2021
通过将您的行添加到模块的 build.gradle 并在项目的 build.gradle 中更改版本来工作。但是,我仍然感到困惑的是,Android Studio 并没有告诉我这个库已经过时了,并将一切都归咎于虚假的语法错误。有没有办法知道最新的华为AGCP版本?
0赞
PedroAGSantos
7/30/2021
@xvlaze我只是使用直觉,我没有找到版本列表的常见之处,所以我想也许他们在补丁通道中修复了它。但也许有一个我们不知道的地方。
0赞
YMonnier
8/2/2021
更新到最新版本后,错误不再出现!感谢您的解决方案!最好com.huawei.agconnect:agcp
1赞
Ton
12/29/2021
我想你可以检查这个版本列表:developer.huawei.com/consumer/en/doc/development/...
0赞
Usama Nasir
3/4/2022
对我来说,这是在gradle中添加的,但需要升级到最新版本才能工作
1赞
Ton
12/29/2021
#3
该错误是由于华为库过时造成的。 我按照此处的说明更新到最新版本:https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-apm-android-releasenotes-0000001052887266
请务必遵循以下注意事项:
注意 从 1.5.2.302 版本开始,APMS 插件功能已 集成到AppGallery Connect插件中。更新 SDK 版本到 1.5.2.302 或更高版本,您需要完成某些 确保与原始插件兼容的配置 功能。详情请参考 版本 1.5.2.302。
我也必须改变
implementation 'com.huawei.agconnect:agconnect-core:1.5.2.307'
自
implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300'
由于某种原因(我不知道),找不到版本 1.5.2.307。
评论
1赞
WebViewer
12/11/2022
这应该是公认的答案,因为它解释了“为什么”。
3赞
Рафаэль солихов
6/16/2022
#4
同样的问题,更新到最新的可用版本,它起作用了
classpath 'com.huawei.agconnect:agcp:1.6.0.300'
评论