如何在PhoneGap 3中编辑AndroidManifest.xml

时间:2014-02-03 00:13:29

标签: android cordova android-manifest

似乎PhoneGap在修改config.xml时会自动生成该文件。

我希望在AndroidManifest.xml中添加广告网络的活动,服务等,但我找不到编辑该文件的正确方法。

4 个答案:

答案 0 :(得分:16)

当您将android平台添加到项目时,Phonegap使用config.xml创建androidmanifest.xml。 当您添加插件并构建项目时,它也会被修改(例如,它会为插件添加所需的权限)。

但您也可以在platforms/android/AndroidManifest.xml中手动编辑文件以添加权限,配置活动或应用程序......重建项目时不会丢失该文件。

答案 1 :(得分:5)

通常可以在“res”目录中找到( - src - gen [Generated Java Files] - Android - Android Dependencies - Referenced Libraries - assets - bin - libs - res - AndroidManifest.xml - proguard-project.txt - project.properties)当然这取决于您使用的Cordova版本。通常,在我的理解中,大多数这些东西都在config.xml中为较新的Phonegap构建指定,这就是为什么在使用Phonegap Build时不需要包含AndroidManifest.xml文件的原因。我建议尝试使用Configap来编辑主config.xml,看看你需要访问的任何设置/服务是否是选项。 Configap can be found here!

忘记提及我使用Notepad ++动态编辑我的.xml但你也可以在sdk中打开

答案 2 :(得分:1)

您可能想查看cordova-custom-config

它支持cordova config.xml中的许多额外设置,以自定义AndroidManifest.xml

我正在使用它来更改android:configChanges设置(添加uiMode以阻止它在停靠/取消停靠时重新加载)并且效果很好。

cordova-custom-config github页面显示了一个包含所有支持选项的完整示例,因此设置非常简单。

答案 3 :(得分:0)

现在在科尔多瓦,我们可以在onAuthStateChanged中使用<config-file><edit-config>config.xml进行简单的自定义更改。

从文档复制的示例:

AndroidManifest.xml

注意:要在<config-file target="AndroidManifest.xml" parent="/manifest/application"> <activity android:name="com.foo.Foo" android:label="@string/app_name"> <intent-filter> </intent-filter> </activity> </config-file> <edit-config file="AndroidManifest.xml" target="/manifest/uses-sdk" mode="merge"> <uses-sdk android:minSdkVersion="16" android:maxSdkVersion="23" /> </edit-config> <edit-config file="AndroidManifest.xml" target="/manifest/application/activity[@android:name='MainActivity']" mode="overwrite"> <activity android:name="MainActivity" android:label="NewLabel" android:configChanges="orientation|keyboardHidden" /> </edit-config> 中使用android:命名空间,需要将config.xml添加到根xmlns:android="http://schemas.android.com/apk/res/android"元素中。