似乎PhoneGap在修改config.xml
时会自动生成该文件。
我希望在AndroidManifest.xml
中添加广告网络的活动,服务等,但我找不到编辑该文件的正确方法。
答案 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"
元素中。