web-dev-qa-db-ja.com

PhoneGap 3でAndroidManifest.xmlを編集する方法

config.xmlが変更されると、PhoneGapがそのファイルを自動的に生成するようです。

広告ネットワークのアクティビティ、サービスなどをAndroidManifest.xmlに追加したいのですが、そのファイルを編集する正しい方法が見つかりません。

20
Andrew

Phonegapは、Androidプラットフォームをプロジェクトに追加するときに、config.xmlを使用してandroidmanifest.xmlを作成します。プラグインを追加してプロジェクトをビルドするときにも変更されます(たとえば、必要な権限が追加されます)プラグインの場合)。

ただし、platforms/Android/AndroidManifest.xmlのファイルを手動で編集して、権限を追加したり、アクティビティまたはアプリケーションを構成したりすることもできます。プロジェクトを再構築しても、ファイルは失われません。

15
QuickFix

通常、これは「res」ディレクトリにあります(-src-gen [Generated Java Files]-Android-Android =依存関係-参照されるライブラリ-アセット-bin-libs-res-AndroidManifest.xml-proguard-project.txt-project.properties)もちろん、これは使用しているCordovaのバージョンによって異なります。通常、これらのほとんどは、 Phonegap Buildを使用するときにAndroidManifest.xmlファイルを含める必要がないのは、このため、新しいPhonegapビルドのconfig.xmlが原因です。Configapでメインのconfig.xmlを編集し、設定があるかどうかを確認することをお勧めします。アクセスする必要がある/ servicesはオプションです Configapはここにあります!

言及するのを忘れていた.xmlをオンザフライで編集するためにNotepad ++を使用していますが、sdkで開くこともできます

5
user3261881

Cordovaでは現在、<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"をルート<widget>要素に追加する必要があります。

1
Thomas

あなたはおそらくチェックアウトしたい cordova-custom-config

Cordova config.xmlの多くの追加設定をサポートして、AndroidManifest.xmlをカスタマイズします。

私はそれを使用してAndroid:configChanges設定を変更し(uiModeを追加して、ドッキング/ドッキング解除時に再ロードされないようにします)、それはうまく機能します。

Cordova-custom-config githubページは、サポートされているすべてのオプションを含む完全な例を示しているので、セットアップが非常に簡単です。

1
SystemParadox