iappli: 「ソフトに誤りがあるためダウンロードできません」の理由

自作したアプリを実機にダウンロードしようとすると、「ソフトに誤りがあるためダウンロードできません」というエラーが表示されてインストールに失敗することがある。
もっとも多い理由としては、ADF ファイルの記述に誤りがある、というものがある。AppSize が実際の jar ファイルサイズと一致していないとか。あと、P504i の Apr バグも有名なところだと思う。
が、ADF ファイルが正しくても上記のエラーが表示されることがある。P2102V でこのエラーになり、なんでだろうと思っていたら、DoJa-2.0 で対応していないクラスを使っていることが原因だったようだ。こういう場合、実行時に NoClassDefFoundError が発生するのかと思っていたが、実はインストール時にチェックされているらしい。
……と思ったら、さらに違ったみたい。jar ファイル内のテキストファイルを読むのに

i = Foo.class.getResourceAsStream("/bar.txt");

と書いていたところを

i = Connector.open("resource:///bar.txt");

にしたら OK になった。