【androidStudio】※解決 cordova-plugin-barcodescannerがコミット後いきなり動かなくなった

  • 2020年11月19日
  • 2020年11月19日
  • 未分類

cordova-plugin-barcodescannerプラグインを入れて実際にスキャナーをしようとボタンを

押したらと突然アプリがクラッシュした。

昨日までは普通にスキャンできていたのにも関わらず。

 

cordova platfoms rm androidをして再度cordova platfoms add androidをしたのでプラグインそのものが

入っていないわけではない。念のためcordova plugin lsをしてもpackage.jsonの中を見てもしっかり

cordova-plugin-barcodescannerプラグインは存在していた。

44:05.472 23560-23681/jp.co.cpointlab.myapp E/AndroidRuntime: FATAL EXCEPTION: pool-1-thread-2
Process: jp.co.cpointlab.myapp, PID: 23560
android.content.ActivityNotFoundException: Unable to find explicit activity class {jp.co.cpointlab.myapp/com.google.zxing.client.android.CaptureActivity}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1939)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1617)
at android.app.Activity.startActivityForResult(Activity.java:4472)
at org.apache.cordova.CordovaActivity.startActivityForResult(CordovaActivity.java:345)
at android.app.Activity.startActivityForResult(Activity.java:4430)
at org.apache.cordova.CordovaInterfaceImpl.startActivityForResult(CordovaInterfaceImpl.java:68)
at com.phonegap.plugins.barcodescanner.BarcodeScanner$1.run(BarcodeScanner.java:204)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)

 

渋々エラーを見るとアクティビティは見つからなかったのでこのプラグインを使うことができません。

みたいなことが書いており、どうやら何らかの理由でandroidStudioにcordova-plugin-barcodescannerプラグインが

認識されずそのままアプリがrunしてしまったみたいです。

ところがビルドの際はnpm run build→cordova prepare androidで必ずandroidStudioに中継をしているので動機のし忘れは考えにくい。

 

心当たりがあるとすればソースツリーで更新したpackage.jsonとconfig.xmlをコミットしたくらい

ですがコミット前は全然プラグイン周りはいじってないしプラグインがpackage.jsonを

入ったことを確認した上でnpm installを実行したのでこれだ!とは断言はしにくい。

恐らく無意識にpackage.json・package.lock.jsonをいじったかcordova prepare androidを

して同期している時に他のプラグインの依存系のエラーにはまってcordova-plugin-barcodescanner

プラグインがandroidStudioに入らなかったかのどちらかだと睨んでいます。

とりあえず原点に戻って再度cordova platfoms rm androidをして再度cordova platfoms add android

を実行。今度はしっかりとバーコードスキャナ―が動いた。

 

package.jsonにプラグインは入っていてもその過程でなにか他のプラグインが違う動きをしたと思ったら

一度立ち止まって解決してから確認をしましょう。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG