Phonegap Build Config.xml Malformed

2020-02-09 04:48发布

问题:

If I add a plugin to the config.xml and upload my project, the config appears to be malformed.

<?xml version='1.0' encoding='utf-8'?>
<widget 
id="com.example.app" 
version="0.0.1" 
xmlns="http://www.w3.org/ns/widgets" 
xmlns:cdv="http://cordova.apache.org/ns/1.0"
>
<name>App</name>
<description>
    A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
    Me
</author>
<content src="index.html" />
<access origin="*" />
<preference name="phonegap-version" value="3.0.0" />
<gap:plugin name="org.apache.cordova.file" />

</widget>

The phonegap instructions tell me to add this line into my config.xml:

<gap:plugin name="org.apache.cordova.file" />

Everytime I try to upload it, it becomes malformed.

回答1:

I think the issue may be that you are using

<widget id="com.example.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" >

(because you created the project using cordova and not phonegap)

which is correct for a cordova project but maybe not for a phonegap build project (and not allow plugins).

try with

<widget id="com.example.app" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">

Important part is xmlns:gap="http://phonegap.com/ns/1.0" instead of xmlns:cdv="http://cordova.apache.org/ns/1.0"



回答2:

For me it was nothing but a closing tag for plugin:

Incorrect:

<plugin name="cordova-plugin-whitelist" >

Correct:

<plugin name="cordova-plugin-whitelist" />


回答3:

Some time issue came for android Build use of this lines

<widget id="com.example.app" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://cordova.apache.org/ns/1.0" >

for that we need to add this line xmlns:android = "http://schemas.android.com/apk/res/android" also of code Prevent the Malformed in Config.xml

complete : <widget id="com.example.app" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://cordova.apache.org/ns/1.0" xmlns:android = "http://schemas.android.com/apk/res/android">