Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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にすれば問題ないようです。難しい。。。

hironaito
スクラムマスター/フロントエンジニアをしています。
yumemi
みんなが知ってるあのサービス、実はゆめみが作ってます。スマホアプリ/Webサービスの企画・UX/UI設計、開発運用。Swift, Kotlin, PHP, Vue.js, React.js, Node.js, AWS等エンジニア・クリエイターの会社です。Twitterで情報配信中https://twitter.com/yumemiinc
http://www.yumemi.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away