KivyアプリやAndroidアプリで、起動すると画面が黒い、画面が表示されないblack screen現象やKivyでBuildozerで変換したAndroidアプリが落ちる、クラッシュする現象についての対処方法を説明します。
Kivyアプリの画面のトラブル
Kivyアプリを起動すると画面が黒い・何も表示されないblack screen現象
Kivyアプリでエラーは出てないのに画面に何も表示されないblack screen現象について説明します。
エラーが出ていなくてアプリは起動するが画面に何も表示されない場合は、kvファイルの読み込みができていません。内部ではappクラスを継承したサブクラスの名前を検索できないです。なので何も表示されません。
- kvファイル名とappクラスを継承したサブクラスの名前が一致してるか確認してください。
- クラス名の最初の文字が大文字になっているか確認してください。
- kvファイルにクラスルールを指定している場合はbuildメソッドが書かれているか確認してください。returnでそのクラスを戻り値として指定します。
- Root要素にルートクラス名を指定している場合はbuildメソッドは必要ありません。(正確にはreturn文が要らない)
- kvファイルを読み込む定義をしてる場合は記述してる場所に問題があります。kvファイルはアプリが立ち上がる時に読まれなくるようにします。buildメソッド内、もしくはそれより手前のAppクラス内、クラスを定義する前のpublic領域に記述する。
- Builder.load.stringを使用している場合は、Root Class Nameは多分使用できない。
詳しくは下記の記事を参考にしてください。
KivyのAndroidアプリの画面のトラブル
Androidアプリを起動すると画面が黒い・何も表示されないblack screen現象
Androidアプリで起動すると画面が黒い、何も表示されないblack screen現象は、ファイル名に大文字が入っていないか確認してください。クラス名をそのままコピペしていたりするとこの罠に陥ります。大文字使えないのは結構不便ですけどアンダーバー(_)で対応しましょう。
Buildozerで変換したAndroidアプリを起動すると落ちる、クラッシュする現象
Androidアプリを起動してローディングの後にすぐに落ちてしまうのはBuildozerのspecファイルのリソース関連の設定やパスが取れていないまたはライブラリ情報が正しく記述されてないなどがあります。
Buildozerのspecファイルの設定方法は下記をご覧ください。この設定が正しくないと色んなトラブルに巻き込まれます。
絶対パスで参照する方法は下記の記事を参考にしてみてください。
Comment