ソフトコミュ開発ブログ

SoftCommu は Javaアプリ、Androidアプリの開発を行うディベロッパーです。人材教育もやっています。企業の新人研修の講師からスカイプでのオンライン家庭教師まで!技術書の執筆や翻訳もしています。
<< Java で Firebase を使う方法のまとめ。 | main | エクリプスでテキストエディタの背景色を黒っぽくしたらデバッグ中にどの行にいるのかわからなくなった場合の対応策 >>
2017.03.27 Monday
Arduino の開発環境に ZIP形式のライブラリをインストールできない場合の対処方法

アルディーノの開発環境に Github などからダウンロードしてきた ZIP形式のライブラリを

インストールしようとするとエラーが発生してしまう場合の対処方法に関してです。

 

たとえば、下記は Firebase の Arduino用ライブラリ Github リポジトリです。

画面右側の緑のボタン「Clone or download」を押して、ZIPファイルをダウンロードします。

 

 

これをそのまま Aruduino の 「スケッチ → ライブラリをインクルード →  .ZIP形式のライブラリをインストール」で指定すると・・・

 

 

下記のようなエラーが出ます!

 

 

java.io.IOException: 指定されたZIPファイルにはライブラリが含まれていません。
    at processing.app.Base.handleAddLibrary(Base.java:2248)
    at processing.app.Base$6.actionPerformed(Base.java:1069)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    at java.awt.Component.processMouseEvent(Component.java:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
指定されたZIPファイルにはライブラリが含まれていません。

 

この問題は、ZIPファイルの中のフォルダ階層に要因があります。

 

Github からダウンロードしてきたファイルは、下記のようにトップレベルにファイル名と同じ名前のフォルダがあり、そのフォルダの中に library.properties といったファイルが入っています。

 

 

上記のようなフォルダ構成だと、そのままでは Arduino の開発環境に取り込むことができません。

 

トップレベルのフォルダを取り除き、firebase-arduino-master フォルダ以下のファイルがトップレベルにあるようになっていなければなりません。

 

それで、いったん ZIPファイルを解凍し、library.properties などのファイルがトップレベルに来るように圧縮しなおしてあげることにします。

 

圧縮しなおしたファイルは下記のような感じになります。

 

 

では、この圧縮しなおしたZIPファイルファイルを「スケッチ → ライブラリをインクルード →  .ZIP形式のライブラリをインストール」メニューを実行して、Arduino の開発環境に読み込んでみましょう。

 

 

 

上記のように、今度は無事にライブラリをインポートすることができました!

 

以上、Arduino の開発環境に Githubなどから落としてきた ZIP形式のライブラリをインストールできない場合の対処方法でした!

 

 

 

ソフトコミュでは、スカイプによる Java や Androidプログラムの

オンライン家庭教師を受け付けています。

料金は30分2,000円から。

ネット検索しながら何日も悩んだ問題が、たった30分で解決すると大好評です!

興味のある方はソフトコミュのホームページからご連絡ください!

 

 

 

| SoftCommu | - | 14:17 | comments(0) | - |









     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< December 2017 >>
+ 人気の記事
1位: ズバリ、ラムダ式 (Lambda)とは何か? それを使うと何がうれしいのか?

2位: Android エミュレータが起動しない場合の復旧手順

3位: Android Studio で "SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable" と表示される問題の原因と対応策

4位: Android 7.0 から Intent の getSerializableExtra() が使えなくなってしまいました!

5位: エミュレータの Google Play Services のバージョンが古いために Google Maps などを使用したアプリが動作しない場合の対応策

6位: Proguard を使用してリリース用APKを出力しようとした際にエラーになるケースの対応策

7位: OneDrive でオフィス文書が同期できなくなるケースの対応策

8位: Java で Firebase を使う方法のまとめ。

9位: Arduino の開発環境に ZIP形式のライブラリをインストールできない場合の対処方法

10位: Bitbucketから、指定した時点でのファイルをすべてまとめて zip でダウンロードする方法

11位: Android Studio で2台のパソコンを行き来しながら開発作業をする方法

12位: AWS (Amazon Web Service) で動作している WEBアプリを SSL対応(HTTPS対応)にする

13位: AWS (Amazon Web Service) の公式ドキュメントで 「HTTPS を終了する」とはどういう意味か?

14位: エクリプスでテキストエディタの背景色を黒っぽくしたらデバッグ中にどの行にいるのかわからなくなった場合の対応策

15位: 任意のレジストラで取得したドメインのSSL認証を AWS で無料で取得し、Elastic Beanstalk の WEBアプリを https で公開するまでの手順まとめ

16位: マイクロソフトの API仕様変更に伴う 「OneDrive API活用術」のサンプルコードの修正のお知らせ

+ ARCHIVES
+ CATEGORIES
+ MOBILE
qrcode
(C) 2016 SoftCommu All Rights Reserved.