

openwnnのソースをダウンロードしたのですが、Android
Studioでビルドすることができなくて困っています。有識者のかたぜひアドバイスをください。

私が使っているソースは以下の手順でダウンロードしたものをAndroid Studioのインポート (ソースがEclipseのもののため)
機能でインポートしたものです。

[code]

    $ git clone https://android.googlesource.com/platform/packages/inputmethods/OpenWnn.git
    $ cd OpenWnn
    $ git tag
    $ git branch -a
    $ git checkout -b ics-mr1-release origin/ics-mr1-release
    
[/code]

エラーメッセージに

[code]

        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
    
[/code]

というメッセージが出てくるのですが、具体的にどうしたらいいかわかりません。宜しくお願いします。


CC BY-SA 4.0
2016-02-13T15:34:12.113
22054
2020-05-14T12:19:52.353
2020-05-14T12:19:52.353
3060
8823
question
android android-studio
OpenWnnをAndroid Studioでビルドしたい


エラーメッセージの内容自体は「インストール済みのアプリよりも古いバージョン（VersionCode）をアップデートしようとしている」というものなのですが、そもそもこのプロジェクトのAndroidManifest.xmlにはVersionCodeが書かれていないので、実際は「ビルドしたアプリのVersionCodeが分からないのでインストールができない」という意味で出ているものだと思います。

とりあえずAndroid
Studio用のプロジェクトに変換済みであれば、`app/build.gradle`の`defaultConfig`内にversionCodeとversionNameを追記することで、このエラーは解決できるかと思います。

[code]

    defaultConfig {
        applicationId "jp.co.omronsoft.openwnn"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0" // versionNameは不要かもしれません
    }
    
[/code]

で、ここから本題なのですが、AVD（エミュレータ）の場合、端末内の読み込み専用領域の中にOpenWnnがすでにインストールされているらしく、上記の対応を行っても次は「電子署名が異なる」というエラーでインストールできません。

<https://sites.google.com/site/cobproducts/home/android/development/sdk-
emuappuninstall>  
上記サイトでは、インストール済みのOpenWnnのやり方が書かれていますが、自分の方で試してもroot権限が上手く取得できず、解決できませんでした。

そのため、OpenWnnがデフォルトでインストールされていない実機やGenymotionを使った方が良さそうです。自分は実機のNexus6でインストールまでの確認はできました。


CC BY-SA 3.0
2016-02-15T10:16:16.097
22108
2016-02-15T10:16:16.097
10880
22054
answer


メーカー純正のapkは上手く出来ないかも知れません(インストールのちょっとした工夫すれば良いかも)。

ですが、Genymotionを使うと一部のアプリが使えるようです。


CC BY-SA 4.0
2020-05-14T11:49:05.677
66602
2020-05-14T11:49:05.677
40148
22054
answer