2017-03-08 1 views
0

J'utilise groovy pour générer un manifeste partiel contenant des déclarations de filtre d'intention pour les liens d'application de mes fichiers de configuration. Le manifeste fusionné trouvé dans l'apk ressemble à celui attendu, mais avec un problème: l'attribut android:debuggable est supprimé même s'il est défini dans build.gradle. Si je supprime le manifeste partiel et reconstruis l'apk, android:debuggable="true" sera défini comme prévu.Attribut de suppression de fusion de manifestes Android

mon principal manifeste ressemble à:

<manifest package="com.app.myapp" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:installLocation="auto"> 

     <application 
     android:name="MyApp" 
     tools:replace="android:theme, android:label, android:allowBackup"> 

     </application> 
</manifest> 

et mon manifeste générer partielle ressemble:

<?xml version="1.0" encoding="utf-8"?> 
<manifest package="com.app.myapp" xmlns:android="http://schemas.android.com/apk/res/android"> 
     <application 
       android:name="MyApp"> 
       <activity android:name=".activity.MyActivity"> 
         <intent-filter android:autoVerify="true"> 
           <action android:name="android.intent.action.VIEW"/> 
           <category android:name="android.intent.category.BROWSABLE"/> 
           <category android:name="android.intent.category.DEFAULT"/> 

         </intent-filter> 
       </activity> 
     </application> 
</manifest> 

et build.gradle fichier debuggable true est défini. L'attribut android:debuggable est supprimé du manifeste fusionné trouvé dans l'apk, que puis-je faire pour m'assurer qu'il est correctement défini sans l'ajouter dans le manifeste partiel (je ne le sais pas au moment de la synchronisation progressive lorsque le le script s'exécute et ne veut pas le coder en dur à true)?

Répondre

0

Après avoir supprimé l'attribut android:name du noeud application du fichier manifeste partiel, la fusion se produit correctement.

Le manifeste partiel qui fonctionne:

<?xml version="1.0" encoding="utf-8"?> 
<manifest package="com.app.myapp" xmlns:android="http://schemas.android.com/apk/res/android"> 
     <application> 
       <activity android:name=".activity.MyActivity"> 
         <intent-filter android:autoVerify="true"> 
           <action android:name="android.intent.action.VIEW"/> 
           <category android:name="android.intent.category.BROWSABLE"/> 
           <category android:name="android.intent.category.DEFAULT"/> 

         </intent-filter> 
       </activity> 
     </application> 
</manifest>