質問: openwnnのソースをダウンロードしたのですが、AndroidStudioでビルドすることができなくて困っています。有識者のかたぜひアドバイスをください。 私が使っているソースは $git clone $ cd OpenWnn $ git tag $ git branch -a $ git checkout -b ics-mr1-release origin/ics-mr1-release の手順でダウンロードしたものをAndroidStudioのインポート(ソースがeclipseのもののため)機能でインポートしたものです。 エラーメッセージに pkg: /data/local/tmp/jp.co.omronsoft.openwnn Failure [INSTALL_FAILED_VERSION_DOWNGRADE] DEVICE SHELL COMMAND: pm uninstall jp.co.omronsoft.openwnn DELETE_FAILED_INTERNAL_ERROR というメッセージが出てくるのですが、具体的にどうしたらいいかわかりません。宜しくお願いします。
回答: エラーメッセージの内容自体は「インストール済みのアプリよりも古いバージョン(VersionCode)をアップデートしようとしている」というものなのですが、そもそもこのプロジェクトのAndroidManifest.xmlにはVersionCodeが書かれていないので、実際は「ビルドしたアプリのVersionCodeが分からないのでインストールができない」という意味で出ているものだと思います。 とりあえずAndroid Studio用のプロジェクトに変換済みであれば、`app/build.gradle`の`defaultConfig`内にversionCodeとversionNameを追記することで、このエラーは解決できるかと思います。 ``` defaultConfig { applicationId "jp.co.omronsoft.openwnn" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" // versionNameは不要かもしれません } ``` で、ここから本題なのですが、AVD(エミュレータ)の場合、端末内の読み込み専用領域の中にOpenWnnがすでにインストールされているらしく、上記の対応を行っても次は「電子署名が異なる」というエラーでインストールできません。 上記サイトでは、インストール済みのOpenWnnのやり方が書かれていますが、自分の方で試してもroot権限が上手く取得できず、解決できませんでした。 そのため、OpenWnnがデフォルトでインストールされていない実機やGenymotionを使った方が良さそうです。自分は実機のNexus6でインストールまでの確認はできました。