Python で apk Android ゲームを作成する際に、リモート データベースとデータを取得するために requests ライブラリが導入され、パッケージング直後にクラッシュしました。数回の継続的なデバッグの後、関連するネットワーク アクセス ライブラリが導入されている限り、apk の実行時にすべてがクラッシュする場合、問題はパーミッション領域にあるに違いないことがわかりました。
Buildozerの設定ファイルを確認すると、有効になっていない権限設定があることがわかりました。
# (list) Permissions
android.permissions = INTERNET
#android.permissions = INTERNET の前の # を削除し、再パッケージ化すると、問題は解決します。
現時点では、ネットワーク操作を実行すると、比較的遅れる状況が発生することがわかりました.以前に調べた情報に基づいて、一部のネチズンは、urllib3、chardet、および idna の 3 つのライブラリも仕様構成ファイルにインポートしました。
# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy,pygame,requests,urllib3,chardet,idna
一度パッケージ化したところ、フリーズ効果が向上したことがわかりました. フリーズと 3 つのライブラリとの関係の具体的な理由については、後で検討します.
Python を使用して apk Android アプリケーション ソフトウェアを開発し、ネットワークの get または post 関数へのアクセスを呼び出す場合は、構成ファイルでこの許可アプリケーションを開くことを忘れないでください。