Android Wearの通知はActivityが置ける やりたい放題!!!
SDKのサンプルのAnimatedNotificationを見ていて、
これどうやって実装してるのか見てみたら普通にActivity動くみたいです
試しにFlappyBirdっぽい動きをするゲームのActivityを置いてみたら普通にゲーム出来ました
repo syncがうまくいかない時の解決法
まずフリーズみたいな感じになっていて、エラーも出ずに止まっていた
みたいなのを参考にgitのバージョンを新しくして、それはなおすことができた
普通にサーバーから取得できないことがあるようで
http://d.hatena.ne.jp/tarosay/20110418/1303132780
を参考に何度も取得し直すことで解決することができた
Androidのビルドをするまで頑張るログ3
Macは諦めて仮想環境で頑張る
ubuntuは最新版だとビルドできないらしいからここから12.04をダウンロードします
http://www.ubuntulinux.jp/News/ubuntu1204-desktop-ja-remix
→64bitじゃないとできないことが判明
http://releases.ubuntu.com/12.04/
のubuntu-12.04.4-desktop-amd64.iso
を入れた
parallelsがいいらしいのでトライアル版をインストールして
イメージファイルをドラッグアンドドロップする画面があるのでisoをいれます
起動!!
右下の設定からメモリ増やしてもう一度起動
http://source.android.com/source/initializing.html
のとおりにやっていきます
最初の必要なパッケージをインストールするところで以下の様なエラーが出たので、
The following packages have unmet dependencies:
libgl1-mesa-glx:i386 :Depends: libglapi-mesa:i386 (=8.0.4-0ubuntu0.7)Recommends: libgl1-mesa-dri:i386 (>=7.2)
E:Unable to correct problems, you have held broken packages.
http://stackoverflow.com/questions/23254439/android-setting-up-a-linux-build-environment-libgl1-mesa-glxi386-package-have
を見て解決
設定から日本語キーボードにしとくとはかどりそう
とりあえずrepo sync
して続きへ
Androidのビルドをするまで頑張るログ2
前回までのでJDKのエラーはクリアできた
さて出たエラーに対して対策を講じていきたい
target R.java/Manifest.java: NoiseField (out/target/common/obj/APPS/NoiseField_intermediates/src/R.stamp)
prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: out/target/product/generic/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(Backtrace.o): multiple definition of 'unw_backtrace'
prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: out/target/product/generic/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(backtrace.o): previous definition here
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libc++_intermediates/LINKED/libc++.so] Error 1
うーん一見
backtrace.o
Backtrace.o
があって
その中にあるunw_backtraceが一緒って感じかな?
なんで2つ出来てるんだこれ、、、
external/libunwindに移動してとりあえず見つけてみる
./Android.mk:# src/mi/backtrace.c is misdetected as a bogus header guard by clang 3.5
./Android.mk: src/mi/backtrace.c
./configure.ac:AC_CONFIG_SRCDIR(src/mi/backtrace.c)
./src/Makefile.am: mi/backtrace.c
% grep -R Backtrace.c
./Android.mk: src/unwind/Backtrace.c
./src/Makefile.am: unwind/Backtrace.c unwind/DeleteException.c
src/unwind/Backtrace.c
src/mi/backtrace.c
2つあるっぽい
ただこの
src/unwind/Backtrace.c
の中にunw_backtrace見つからないんだよね、、、
うーん
src/mi/backtrace.c is misdetected as a bogus header guard by clang 3.5
これが気になるなあ
3.5じゃないと思うんだけど、、、
% clang -v
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.2.0
Thread model: posix
んー
http://source.android.com/source/known-issues.html
の
Symptom: All builds fail when using XCode 4.3.
Cause: XCode 4.3 switched the default compiler from gcc to llvm, and llvm rejects code that used to be accepted by gcc.
Fix: Use XCode 4.2.
つまり
https://github.com/kennethreitz/osx-gcc-installer/downloads
とかからgccインストールすりゃいいんだな?
% clang -v
Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin13.2.0
Thread model: posix
うーん
LLVMとか入ってるのは気になるけどレッツトライ!!!
デキナカッタ。。。
ifndef挟んでみたりとか色々したけどうーん。。。。。
むずい!!!!!
ということで
仮想環境のubuntuでやることにします!!!
Androidのビルドをするまで頑張るログ1
Androidについて詳しくなりたい!ということでビルドしてとりあえずビルドしていきたい!!
Mac OSX 10.9.3でやっていきます
http://source.android.com/source/downloading.html
のとおりにダウンロード
さっそく何も考えずに
source build/envsetup.sh
make -j4
これでビルドが始まった
JDKでハマった編
待つこと1時間で
external/doclava/src/com/google/doclava/ClassInfo.java:20: エラー: パッケージcom.sun.javadocは存在しません
ググってJDKのバージョンがあってないのが原因のようなので
http://qiita.com/ryo0301/items/3c9a02e03b4e9a41f576
を参考に
Matching Java Virtual Machines (3):
1.7.0_25, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
はいっているみたいなので
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
してみて再チャレンジ
ついでに
http://note.chiebukuro.yahoo.co.jp/detail/n185974
を参考に
$ mkdir ~/.ccache
$ export USE_CCACHE=1
$ export CCACHE_DIR=~/.ccache
$ prebuilts/misc/linux-x86/ccache/ccache -M 50G
ここで
zsh: exec format error: prebuilts/misc/linux-x86/ccache/ccache
と言われてしまった
Macなので
prebuilts/misc/darwin-x86/ccache/ccache -M 15G
としておいた(ディスク容量に余裕が無いため)
make -j4
。。。。
javac: 1.7 ?͖????ȃ\?[?X?o?[?W?????ł??B
?g????: javac <options> <source files>
?g?p?\?ȃI?v?V?????̃??X?g?ɂ??ẮA-help ??p???܂?
javac: 1.7 ?͖????ȃ\?[?X?o?[?W?????ł??B
?g????: javac <options> <source files>
?g?p?\?ȃI?v?V?????̃??X?g?ɂ??ẮA-help ??p???܂?
make: *** [out/host/common/obj/JAVA_LIBRARIES/doclava_intermediates/javalib.jar
] Error 41
make: *** Waiting for unfinished jobs....
make: *** [out/target/common/obj/JAVA_LIBRARIES/core-junit_intermediates/classe
s-full-debug.jar] Error 41
うーん、、別のエラーが、、、
PATHにも追加しないとダメって書いてあったから
export PATH=$PATH:`/usr/libexec/java_home -v 1.6`
してみて再チャレンジ
http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html
アンインストール(削除)してみた!!
まだ同じエラーが、、、、
うーんjavaコマンドがうまく使えてなさそうなのが問題な気がするんだけど、、
ちゃんと文字化けなおそう
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
javac: 1.7 は無効なソースバージョンです。
使い方: javac <options> <source files>
使用可能なオプションのリストについては、-help を使用します
make: *** [out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes-full-debug.jar] Error 41
make: *** Waiting for unfinished jobs....
j
うーむ、とりあえずJDK7を入れなおしてもう一度ググろう
どうやらこのcom.sun.javadocはJDKのtools.jarにはいっているようで
http://stackoverflow.com/questions/18277504/make-cannot-find-tools-jar
を参考に
で、できてる!!できてるっぽい!!!
またここでC++のコンパイルでエラーが起きちゃったので続きは別記事で