2016-10-04 15 views
0

アプリケーションをビルドしようとすると。アプリケーションは通常収集され、外部アプリケーションライブラリがない場合にのみ実行されます。 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() 
+0

あなたが最初のものは 'ADB logcat'あるとして行われ、出力をチェックしているはず何 –

+1

...ターゲット・デバイスやPythonのモジュールのみのためのdllを必要とイム確認してください。そこに(そしてKIVYのログにも)、 'networkx'パッケージがないことが分かります。 P4A/Buildozerは、デフォルトのインタプリタ(+ kivy deps)+明示的に提供されたパッケージのみをパッケージ化するので、それらを.specファイルに記述する必要があります。 – KeyWeeUsr

+0

が変更されました.spekの違いはありませんが、アプリケーションはまだクラッシュします – rtyuOp

答えて

1

、ライン39サードパーティのrequirmentsを追加:添付 は、アプリケーション・コードです。

requirements = kivy,networkx, # or what ever 
+0

純粋なpythonパッケージのようですね。 ^^ – KeyWeeUsr

関連する問題