AGGIORNARE
È disponibile una nuova versione di Gradle e plug-in Android Gradle che risolve questi problemi.
build.gradle (livello superiore)
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-all.zip
RISPOSTA PRECEDENTE
Se disabiliti AAPT2 stai solo nascondendo il vero problema.
Si prega di essere consapevoli del fatto che AAPT1
potrebbe essere rimosso in futuro, pertanto si è costretti a utilizzare AAPT2
. In realtà la guida alla migrazione non è difficile da seguire poiché non vedi che molti cambiamenti allo stesso tempo in questo modo sono a prova di futuro.
Gerarchie di elementi nel manifest Android
Nelle versioni precedenti di AAPT, gli elementi nidificati in nodi errati nel manifest Android vengono ignorati o generano un avviso. Ad esempio, considera il seguente esempio:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myname.myapplication">
<application
...
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<action android:name="android.intent.action.CUSTOM" />
</activity>
</application>
</manifest>
Pertanto, devi prima verificare se segui davvero la corretta struttura manifest come mostrato di seguito.
Struttura del file manifest
Lo snippet di codice seguente mostra la struttura generale del file manifest e tutti gli elementi che può contenere. Ogni elemento, insieme a tutti i suoi attributi, è completamente documentato in un file separato.
<manifest>
<uses-permission />
<permission />
<permission-tree />
<permission-group />
<instrumentation />
<uses-sdk />
<uses-configuration />
<uses-feature />
<supports-screens />
<compatible-screens />
<supports-gl-texture />
<application>
<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>
<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>
<service>
<intent-filter> . . . </intent-filter>
<meta-data/>
</service>
<receiver>
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>
<provider>
<grant-uri-permission />
<meta-data />
<path-permission />
</provider>
<uses-library />
</application>
</manifest>