Android開発ログ

カテゴリ : 環境構築

Android Open Source Projectからソースを拾ってきて、OSをビルドしてました。
すると
In file included from system/core/gpttool/gpttool.c:24:
/usr/include/zlib.h:34: fatal error: zconf.h: そのようなファイルやディレクトリはありません

こんなエラーが発生。
対策は、不足する諸々を入れてやること。こうしてやればよい
 $ sudo ln -s /usr/include/x86_64-linux-gnu/zconf.h  /usr/include
 $ sudo apt-get install xorg-dev


Android Open Source Projectからソースを拾ってきて、OSをビルドしてました。
すると
g++: g++: selected multilib '32' not installed
selected multilib '32' not installed
g++: selected multilib '32' not installed

こんなエラーが発生。


このサイトが参考になります。
要約すると、次のライブラリを入れとけだそうです。
なお、現状のAndroidではgcc4.4を使用しろとのことでした。
なので4.4とあえて古いのを入れてます。

 g++-4.4-multilib
なんでインストール
 $ sudo apt-get install g++-4.4-multilib
余談ですが、update-alternativesコマンドを使うとコマンドのバージョン管理で幸せに暮らせます。


Android Open Source Projectからソースを拾ってきて、OSをビルドしてました。
すると
dalvik/vm/native/dalvik_system_Zygote.cpp: In function ‘int setrlimitsFromArray(ArrayObject*)’:
dalvik/vm/native/dalvik_system_Zygote.cpp:193: error: aggregate ‘rlimit rlim’ has incomplete type and cannot be defined
dalvik/vm/native/dalvik_system_Zygote.cpp:216: error: ‘setrlimit’ was not declared in this scope
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libdvm_intermediates/native/dalvik_system_Zygote.o] エラー 1
make: *** 未完了のジョブを待っています....

こんなエラーが発生。

このサイトが参考になります。
要約すると、
 dalvik/vm/native/dalvik_system_Zygote.cpp
のインクルードに
 #include <sys/resource.h>
を追加せよ
だそうです。

OpenCVをちょっといじってみようかなーと思ったら、最近はOpenCV4AndroidというAndroid向けのものが出ているとのこと。
せっかくなので、その環境構築からテストアプリの実行までをメモします。

と思ったけど、わかりやすくまとまってるサイトがあったのでリンクを張るだけにして置きます。
  ・OpenCV for Android 2.3.1 beta2 のインストール手順(画像付き)



また、OpenCV を使ったアプリを実行するデバイスには OpenCV Manager というアプリをインストールしておく必要があります。
というのも、このアプリの中に OpenCV のライブラリが入っているため、これがないとせっかくアプリを作っても動きません。

ところが、OpenCV Manager は基本的に Google Play からダウンロードするため、エミュレータとかGooglePlayに繋げられない端末ではDLできません。
そういった環境ではどうするかというと、ダウンロードしたSDKには、直下に "apk" というフォルダがあります。
そのフォルダ内には arm や x86 など、各デバイス向けの OpenCV Manager のapkファイルが入っています。
この apk を adb で直接インストールするなどして、インストールしてやればOKです。




余談。
メモ:OpenCV4Android のAPIリファレンスはコチラ http://docs.opencv.org/java/


いろいろ情報はあるので敢えて書く必要はない気もしますが、USB で Android 端末を繋いだときに認識してくれないときの対処法です。
最近購入した Novo などに関しては、ドライバインストールツールが用意されていたりするようですが、私はそういうツールを不用意に使うのが好きではないので、直接 ベンダーID や プロダクトID を編集してデバイスを認識させる方法を紹介します。


続きを読む

このページのトップヘ