アプリケーションをビルドしようとすると。アプリケーションは通常収集され、外部アプリケーションライブラリがない場合にのみ実行されます。 networkxライブラリに接続しようとしたとき。付録は通常収集されます。しかし、デバイス上で直接実行しようとすると。セーバー「Loadind ...」をポップし、アプリケーションが落ちます。すべてが機能するように変更する必要があります。あなたのbuildozer.spec
ファイルでKivyで外部ライブラリを接続する方法
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.scatter import Scatter
from kivy.uix.boxlayout import BoxLayout
from kivy.graphics.vertex_instructions import *
from kivy.graphics.context_instructions import Color
import networkx as nx
G = nx.Graph()
G.add_node(1)
G.add_node(2)
G.add_node(3)
G.add_node(4)
G.add_edge(1,2)
G.add_edge(1,3)
G.add_edge(3,4)
G.add_edge(2,3)
class SimpleKivy(App):
def build(self):
b = BoxLayout()
l = Label(text=str(nx.shortest_path(G,1,4)))
textinput1 = TextInput(text=str(nx.shortest_path(G,1,4)))
textinput1.bind(text=l.setter('text'))
f = FloatLayout()
s = Scatter()
s.add_widget(l)
f.add_widget(s)
b.add_widget(f)
b.add_widget(textinput1)
return b
if __name__ == "__main__":
SimpleKivy().run()
あなたが最初のものは 'ADB logcat'あるとして行われ、出力をチェックしているはず何 –
...ターゲット・デバイスやPythonのモジュールのみのためのdllを必要とイム確認してください。そこに(そしてKIVYのログにも)、 'networkx'パッケージがないことが分かります。 P4A/Buildozerは、デフォルトのインタプリタ(+ kivy deps)+明示的に提供されたパッケージのみをパッケージ化するので、それらを.specファイルに記述する必要があります。 – KeyWeeUsr
が変更されました.spekの違いはありませんが、アプリケーションはまだクラッシュします – rtyuOp