2014-11-27 [長年日記]

_ [Android][ubuntu][Java] Google Maps Android V2動かすのに1週間かかった話。

痛い。かなり心が折れそうになり毛も抜けた。抜けていない。Google本社から煙が出るくらいググってた。プロジェクト作り直すこと100回。(推定)
こんな人他にいるのかと思うが勢いで書いてみる。ほうとう食いながら。熱い。

コンパイルは通った前提の話であり、google-play-service_libsを参照でcopy into workspaceとかAPI consoleとかその辺のことは全く書いてない記事。
環境:ubuntu14.04 + eclipse + ADT

結論:Java8になってたのが全部悪い

以下、起こったことと対策のつもりだったこと。今なら全現象自由自在だ!全能だフハハハ!!!

1. 全くLaunchできない。apkがUSB接続の携帯実機に乗らない。 Consoleに以下が出て、CPUを何百%も食いeclipseが固まるのでxkillで殺す。これだけで数日。

[2014-11-23 08:26:51 - FuckMyBrainApp] Dx
trouble writing output: already prepared

ただしこの問題は、SDK ManagerでAndroid SDK build-toolsのバージョンを18以下にすれば解消する。(悪夢の始まり。その後もConsole見てればよかった→見とけやカス

2. Launchできるが全く動かない。落ちる。(また数日)

java.lang.NoClassDefFoundError: com.example.mapdemo.BasicMapDemoActivity が止まらない

いくらググっても解決しない。またこの間、Windows8でも何回かやるが全て同じ結果。今思うとWindowsにもJava8しか入ってない。

数日+数日=1週間経ちマイナス思考で悩みまくった結果この命さえも無意味だと思う日もありながらもつい先程解決。LogCatでNoClassDefFoundErrorばかり見ていたのでConsoleに目をやると

bad class file magic (cafebabe) or version (0033.0000)
が出ている。http://visible-true.blogspot.jp/2013/01/androidjava17.htmlにも辿り着き、Javaのバージョンに思いを馳せ、空を見上げる。
% ps aux | grep java
banchou  17891 14.6  4.8 5670848 787448 ?      Sl   05:00   4:22 /usr/lib/jvm/java-8-oracle/bin/java -Dosgi.requiredJavaVersion=1.7 -XX:MaxPermSize=256m -Xms40m -Xmx512m -jar 
フハッ?eclipse自体が1.8で動いている。いやいやeclipse.iniでrequire1.6とかにしてるって。Hmmmmm. java6,7,8が入ってるが、update-alternatives --config java で6にしてある。ほれ。
% java -version  
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
eclipseを殺す。 % eclipse & とshellから実行。
banchou@joao:~% ps aux|grep java                                                                                                                                                                                                                                        banchou  19354  190  1.2 18490184 210084 pts/0 Sl   05:43   0:03 /usr/lib/jvm/java-6-oracle/bin/java -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=8192m -Xms4096m -Xmx8192m -jar ...
は?何?
普段はLauncherに登録(Windowsでいうピン止め)してボタンで実行している。どうもLauncherに突っ込むと1.8になるようだ。ピン止め解除。shellから実行すると、やっと無事に動いた。

画像の説明画像の説明 ubuntuのLauncher起動の仕組みは全く追っていないが、.zshrcは呼ばれないようだ。(ログインシェルはzsh)
こんな話かな。Windowsのピン止めではどうなんだろう。こんなことは起きないと思うが。

不運(java.lang.NoClassDefFoundError: com.example.mapdemo.BasicMapDemoActivity)といつまでもダンス寝ずに格闘してる人の何%かがこれと同じ現象だったりしないかな。
また、Java6にしたらAndroid SDK build-toolsを最新(現在21)にしても問題なかった。悪いのはいつも俺だ。


検索キーワード:

記事

  • 2019-09-09
    • 1. [Internet]Signin with Googleの制限
    • 2. [自転車]ブレーキパッド交換
  • 2019-08-31
    • 1. [ubuntu]ubuntu18.04のノートPCがサスペンドから復帰しない
  • 2019-08-17
    • 1. [Internet]bye, Yahoo
  • 2019-08-16
    • 1. [Emacs]straight.elに乗り換え。
  • 2019-08-15
    • 1. [社会][Internet]IT社会とニュース

カテゴリ

Amazon | Android | apache | Arduino | bash | bluetooth | Books | CakePHP | CakePHP3 | Chrome | CSS | Docker | Eclipse | Emacs | etc | Firefox | Flask | Gadget | git | Gnome | Google | Heroku | HTML | Internet | iPhone | IS01 | IS03 | Java | JavaScript | json | Kotlin | LINE | magento | mysql | nginx | nodejs | Oops | PC | Perl | php | Python | Qt | Ruby | ruby | Shell | tdiary | twitter | ubuntu | unix | Web | Windows | windows | WindowsMobile | WX5 | YAML | zsh | ここか | そば | つくる | つり | できごと | アクアリウム | ギター | セキュリティ | プリンタ | ベース | ボクシング | ポエム | マネー | メシ | ラズパイ | 仕事 | 作家 | 壮絶 | 妄想 | 忘れる | 料理 | | 暑い | 痛い | 社会 | 自転車 | | 車輪 | | 野球 | 銭湯 | 音楽 |

全部 : / 今日 :

近頃

links

profile

もっとヒゲ伸ばしたい。