others-how to how to solve AAPT: error: unexpected element <queries> found in <manifest>?
1. Purpose
In this post, I would demonstrate how to solve AAPT: error: unexpected element <queries> found in <manifest>
, just as follows:
.../app/src/main/AndroidManifest.xml:762:5-767:15: AAPT: error: unexpected element <queries> found in <manifest>.
2. The code and solution
2.1 The code
Here is the configuration in my AndroidManifest.xml:
<manifest>
<application>
...
</application>
<queries>
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="smsto"/>
</intent>
</queries>
</manifest>
2.2 The solution
This problem is caused by the gradle version, the old version is not compliant with the newly added <queries>
element in androidmanifest.xml.
So you should upgrade your gradle version from 3.5.3 to 3.5.4, here is the list of patched gradle versions:
3.3.3
3.4.3
3.5.4
3.6.4
4.0.1
Now in my build.gradle:
buildscript {
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.4'
...
}
}
You can refer to this article for more info.
If you are using an existing plugin in the 3.3.* through 4.0.* series, upgrade to the associated patch version (or higher) from that list, and you should no longer run into that error (e.g., classpath ‘com.android.tools.build:gradle:4.0.1’).
If you are using Android Studio 4.1 or higher, with a matching Android Gradle Plugin (e.g., in the 4.1.* series), you should be fine without any changes. Those plugin versions were already aware of
3. Summary
In this post, I demonstrated how to solve AAPT: error: unexpected element <queries> found in <manifest>
. The key point is to check your gradle version , upgrade your gradle to be compliant with the newly added android manifest tags. That’s it, thanks for your reading.