LoginSignup
7
8

More than 5 years have passed since last update.

【Monaca】ローカル通知Pluginをインストールしてもビルドが通らない場合の対応

Last updated at Posted at 2015-09-29

AsialBLOGさんの「プラグインで簡単に実装できるローカル通知機能!!」の記事を読んで実際にやってみたらビルドでエラーが出ました。
無事解決できたのでメモしておきます。※Android版のみで確認しました。

2015.9.30追記
DeviceプラグインはダウンロードでなくMonaca初期プラグインのDevice(org.apache.cordova.device)を有効にすることでも動作しました。citherさんありがとうございました。

2015.10.02 追記
そもそも足りていないプラグインをダウンロードしてインストールする必要はなく設定ファイルを書き換えることで対応可能とのことでした。
citherさんありがとうございました。
下記大幅に修正しています。

はじめに結果だけ

  • プラグインをZIPファイルからインストール(GitHubのURLのからのインポートはファイルの修正ができないのでNG)
  • 「cordova-plugin-local-notifications」の設定ファイルの変更

上記でビルドが通るようになりました。

理由

ビルドが通らないのは「cordova-plugin-local-notifications」が「cordova-plugin-device」と「cordova-plugin-android-support-v4」を別途インストールしようとするのですが、パスが違うのか404を返していたためでした。(恐らく命名規則が変更されプラグイン名が変わったため)
そのため上記2つのプラグインをインストールできるようにファイルの変更を行います。

対応

「cordova-plugin-local-notifications」プラグインをZIPインストール

下記のファイルを直接ダウンロードします。(右下のDownloadZIPから)

「cordova-plugin-local-notifications」の設定ファイルの書き換え

ここに気づけませんでしたがaktuehrさんに教えてもらえました。わからないときは力を借りるのも重要!w

Monacaの以下ファイルを修正します。

  • plugins/de.appplant.cordova-plugin-local-notifications/plugin.xml

27行目くらい

<dependency id="cordova-plugin-device" />

<dependency id="org.apache.cordova.device" />

82行目くらい

<dependency id="cordova-plugin-android-support-v4" />

<dependency id="android.support.v4" />

idをorg.apache.cordova.deviceやandroid.support.v4にします。

上記でビルドするとエラーがなくなります。
アプリを実機にインストールすると無事LocalPushが来ました!


恐らく「cordova-plugin-local-notifications」が他2つのプラグインを取得するURLが異なることが原因かと思います。
※cordovaの命名ルールが変更になっているらしくそれらの影響かと思われます。

インストールが失敗したプラグインは以下URLにあるか確認して、存在すればPlugin IDをdependencyのidに指定することでダウンロードができるようです。
無い場合はZIP形式でダウンロードし設置することも可能で、対象プラグインをダウンロードし設置したフォルダ名と同じIDにすれば問題ないようです。難しい。。。

7
8
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8