質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

onclick

onclickとはユーザーのクリック処理を指します。これは"onmousedown"(押下)と"onmouseup"(押上)の二つの事象の組み合わせです

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

1回答

2446閲覧

onClickイベントがMonacaデバッガ―では動作するのにAndroidビルド環境で動作しない

tanabemmt

総合スコア7

Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

onclick

onclickとはユーザーのクリック処理を指します。これは"onmousedown"(押下)と"onmouseup"(押上)の二つの事象の組み合わせです

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

1クリップ

投稿2018/02/05 02:47

前提・実現したいこと

MonacaIDEでソース開発し、スマホにMonacaデバッガのアプリをインストールして動作確認後、
MonacaIDEでビルドし、スマホ(実機)にダウンロード&インストールしてデバッグしています。

発生している問題・エラーメッセージ

onClickイベントについて、Monacaデバッガ環境では動作するが、ビルド環境では動作しない
という現象が起きています。
ビルドはMonacaIDEのAndroidアプリのビルド(デバック向けビルドおよびリリース向けビルド)
で作成しています。

エラーメッセージ: Monacaデバッガ環境ではコンソールでエラーが確認できますが、ビルド環境では確認できません。

該当のソースコード

1)ビルド環境だとConfirmのダイアログが表示されない(Monacaデバッガ環境では表示される)

  • index.html

<a href="#" id="CheckDeviceBtn" data-role="button" data-inline="false" data-theme="b" onclick="check_device();return false;">Check Device</a>

  • app.js

function check_device() {
var deviceModel = device.model;
var deviceVersion = device.version;
confirm('Device Model: ' + deviceModel + ' | ' + 'Device Version: ' + deviceVersion);
}

2)ビルド環境でもMonacaデバッガ環境でもConfirmのダイアログが表示される

  • index.html

<a href="#" id="CheckBatteryBtn" data-role="button" data-inline="false" data-theme="b" onclick="check_battery();return false;">Check Battery</a>

  • app.js

function check_battery() {
navigator.getBattery().then(function(battery) {
var batteryLevel = battery.level;
confirm('Battery Level: ' + batteryLevel);
});
}

Cordova標準プラグイン、HTML, Javascript

試したこと

過去のQ&Aを参考に、Monacaでビルド時に設定するアプリケーション名を半角英数(スペースもなし)にして
ビルドしてみましたが、状況は変わりませんでした。

補足情報(FW/ツールのバージョンなど)

ちなみに、発生しているAndroid端末はBlackberry7.1.1ですが、他のAndroid端末でも同様のようです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Monaca IDEにある 設定 > Cordova プラグインの管理 から有効にしてあるプラグインを確認してみてください。

Monaca アプリのデバッガーには基本Cordovaプラグインがプリインストールされていますが、ビルド時には有効になっているCordovaプラグインしかインストールされません。
ビルド時に端末情報プラグイン(cordova-plugin-device)を有効にしていなければ、 "device.model" で undefinedになっている可能性があります。

もし上記が原因でない場合ははAndroidをUSBでPCに繋いでChromeのDeveloper Toolで他にエラーが無いか確かめてみるのが良いかもしれません。(デバッグビルドであればUSBデバッグ可能です)
参考までに。
https://docs.monaca.io/ja/debugger/manual/debug/#usb-debugging-android

投稿2018/02/05 03:25

yama_dsn

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tanabemmt

2018/02/05 17:26

ご回答ありがとうございます。 ご指摘の通り、基本Cordvaプラグインの「Device」が有効になっておりませんでした。 「Device」を有効にして再度ビルドしたところ、問題なく動作しました。 また、USBデバッグについてもご紹介ありがとうございました。こちらは別途試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問