0

Titanium で開発された Android アプリをさまざまなエミュレーターやデバイスでテストしているときに、アプリがスプラッシュ スクリーンでフリーズしたり、単にクラッシュしたりしました。Android sdk/tools 内で ddms アプリケーションを使用してエラーのデバッグを試みたところ、次の結果が得られました。

JNIUtil Couldn't find Java class: ti/modules/titanium/database/DatabaseModule

これは驚くべきことでした。db 関連のコードをまったく変更しておらず、そのクラスをロードすることを指定する必要さえなかったからです。プロジェクトをクリーンアップし、エミュレーターを再起動し、新しい AVD を作成しましたが、うまくいきませんでした。

4

1 に答える 1

1

同じ問題を抱えている他の人を探しているときに、http://developer.appcelerator.com/question/131639/test-package-works-but-signed-one-dies-on-phoneに遭遇し、底から手がかりを得ました答え。何らかの理由で、Titanium のビルド プロセスが、require(データベース関連のファイルを処理するファイルの 1 つで使用されている標準モジュールをロードしていませんでした。app.js ファイルの先頭にある db への参照を作成することで、何らかの方法でビルド プロセスに DatabaseModule の組み込みを再開させることができました。

var db = Titanium.Database.open('my_table');
于 2013-01-11T16:41:58.240 に答える