2017-08-08 1 views
1

Je tente d'enregistrer mon application dans la fonctionnalité de partage d'Android et j'ai trouvé que je dois modifier le manifeste.Comment modifier AndroidManifest.xml dans une application Meteora 1.5 Cordova?

J'ai fait:

App.appendToConfig(` 
<universal-links> 
    <host name="com.toto.app" /> 
</universal-links> 
<platform name="android"> 
    <config-file target="AndroidManifest.xml" parent="/manifest/application/activity"> 
      <intent-filter>    
       <action android:name="android.intent.action.SEND" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <data android:mimeType="*/*" />     
      </intent-filter>  
    </config-file> 
</platform> 
`); 

Les nouvelles lignes apparaissent dans le config.xml mais le filtre l'intention ne semble pas dans le manifeste et l'application ne sont pas générés.

ici est le message d'erreur

=> Started your app. 

=> App running at: http://localhost:3000/ 
    Type Control-C twice to stop. 

=> Errors executing Cordova commands: 

    While running Cordova app for platform Android with options --device: 
    Error: Command failed: C:\dev\Talkalang_V41\.meteor\local\cordova-build\platforms\android\cordova\run --device --device 
    Note: Some input files use or override a deprecated API. 
    Note: Recompile with -Xlint:deprecation for details. 
    Note: Some input files use or override a deprecated API. 
    Note: Recompile with -Xlint:deprecation for details. 
    C:\dev\Talkalang_V41\.meteor\local\cordova-build\platforms\android\res\xml\config.xml:60: AAPT: Error parsing XML: unbound prefix 

    C:\dev\Talkalang_V41\.meteor\local\cordova-build\platforms\android\build\intermediates\res\merged\debug\xml\config.xml:60: error: Error parsing XML: unbound prefix 

Répondre

0

Vous avez besoin de l'attribut xmlns:android="http://schemas.android.com/apk/res/android" sur chaque élément qui fait référence à l'espace de noms Android. Dans votre cas, cela signifie:

App.appendToConfig(` 
<universal-links> 
    <host name="com.toto.app" /> 
</universal-links> 
<platform name="android"> 
    <config-file target="AndroidManifest.xml" parent="/manifest/application/activity"> 
      <intent-filter>    
       <action android:name="android.intent.action.SEND" xmlns:android="http://schemas.android.com/apk/res/android" /> 
       <category android:name="android.intent.category.DEFAULT" xmlns:android="http://schemas.android.com/apk/res/android" /> 
       <data android:mimeType="*/*" xmlns:android="http://schemas.android.com/apk/res/android" />     
      </intent-filter>  
    </config-file> 
</platform> 
`); 
+0

-cordova-config personnalisée: Erreur lors de la mise à jour config pour la plate-forme « android »: ne peut pas utiliser le chemin absolu sur l'élément – Marc

+0

Remplacement/manifeste par. résout ce problème, mais tout cela n'a strictement aucun impact. En d'autres termes, je partage une photo de l'application Galerie, mais mon application n'apparaît nulle part dans la liste des applications à partager. – Marc

+0

btw, j'essayais de suivre https://ourcodeworld.com/articles/read/101/how-to-list-your-cordova-app-in-open-with-menu-in-android-and-handle- the-intention-event .... sans succès jusqu'à présent. – Marc