LGBTQのシンボル

2011年8月8日月曜日

[解決済み]Mono for Androidを試してみた

Javaやったるぞ!って気合入れてGoogle Androidアプリケーション開発入門読んでたんですけどやっぱりC#の便利さには勝てないことに気が付きまして。ええ。Mono for Androidがあることは知ってたんですが有償ということで躊躇してました。ですが今日思い切って体験版をDLしてきてやってみました。結果詰まってるなうですね。


[ 解決しました!! ] Mono for AndroidはJDK7には対応していない


やったこと

  1. とりあえずインストールしてプロジェクト作成、そのままコードを眺めていいね!と思いつつビルド
  2. Monoを動かすためのアプリを転送するのにしばらく時間がかかる
  3. エミュレータにアプリ転送完了
  4. 「Tried to launch activity [MainLauncher = trueがついたアクティビティ], but the device could not find it.(以下略」 えー!
  5. 色々いじりまくる→解決しない→ググる
  6. adbのログ出力してみたらー?
  7. INSTALL_PARSE_FAILED_NO_CERTIFICATESでアプリのインストールに失敗してる。署名されてないだって?
  8. 署名してやんよ
  9. キーストアー生成
  10. デジタル署名
  11. また弾かれたorz
  12. あれ?com.kassyi.android.hello-Signed.apkなんてファイルがある… 署名してんの?
  13. jarsignerで確認… 署名してある。
  14. おわたー

むぅ

一応思いつくことは全部しました。Mono for AndroidのHelloWorldに書かれてる手順そのままやってみたりもしましたけど、同じところで躓きました。ぐぬぬ、もしこれでアプリ作れたら本気で買ってもいいと思ったんだけど… しばらく情報が出るまで待ちですかね。

でもこのままなにもアウトプットしないで日記だけ書くのもあれなんで、一応。JavaだったらAndroidManifest.xmlに<Activity />を書かなきゃいけいないけど、Mono for Androidならバックグラウンドでクラスから生成してくれるみたいです。手元のソースには反映せずに。
Mono for Android attempts to fix this by allowing you to add custom attributes to your classes, which will then be used to automatically generate the manifest for you. Working with AndroidManifest.xml

あとapkがjarと同じってこともはじめて知りました。へー。

感想

開発環境としては最高の環境です。使い慣れてますし、C#のスマートさも合わさってIYHOOOOOOOOな環境でした。なんか悔しい。

[追記]

やっぱり悔しい…

INSTALL_PARSE_FAILED_NO_CERTIFICATESでググッて対策方法を調べてみました。
  1. 署名する→署名してもダメだった
  2. すでにインストールされてるパッケージを削除してからもう一度インストール→もともと入ってない
  3. ユーザーデーターを削除してクリーンな状態でスタート。emulator -wipe-data avd <name>→効果なし!w
万事休す。ふー。すっきり、かな?

0 コメント:

コメントを投稿