カメラから写真を撮ってアンドロイドにそのサムネイルを表示するアプリケーションを作成したいと思います。私のコードの関連部分は:アンドロイドとkivyでpython PILをインポートするには?
from plyer import camera
from PIL import Image
.
.
.
def take_photo_from_camera(self, x):
filename = str(random.randint(0, 100000000000)) # create random filenames
self.camera.take_picture("/storage/sdcard0/MyApp/%s.jpg"%(filename), self.on_success_shot)
def on_success_shot(self, path):
#Create a thumbnail of taken photo here using PIL
私は問題なくAndroidのカメラを使用できます。 私は
requirements = kivy, openssl, futures, requests, plyer, pyjnius, pillow
私はこの構成でAPKを作成したい、APKパッケージが正常にビルドしkivyのbuildozer.specファイルの要件にPIL /枕を追加しましたが、私はAPKをインストールしている場合に実行しました私のアンドロイドの電話、私はlogcatでこのエラーが表示されます:
I/python (20188): Traceback (most recent call last):
I/python (20188): File "/home/mnrl/teknik/.buildozer/android/app/main.py", line 32, in <module>
I/python (20188): File "/home/mnrl/teknik/.buildozer/android/app/_applibs/PIL/Image.py", line 67, in <module>
I/python (20188): ImportError: dlopen failed: "/data/data/org.tokerteknik.tokerteknik/files/_applibs/PIL/_imaging.so" is 64-bit instead of 32-bit
I/python (20188): Python for android ended.
私はアーキテクチャに関連する問題だと思います。私はubuntu 16.04 64ビットを使用しており、kivy buildozerは要件をインストールする際にpipで64ビットライブラリをインストールします。 同様の問題:https://github.com/kivy/kivy/issues/4095でも解決策はありません。 簡単にどのように私はkivy buildozerでアンドロイド上のPILをインポートできますか、または64ビットシステムにPILの32ビットライブラリをインストールするにはどうすればよいですか?
これはおそらくのpython-ため、アンドロイドのバグです、あなたは[のpython-FOR-アンドロイドgithubのページ](https://github.com/kivy/python-for上の問題を開くことができます-android)、完全なビルドログも報告しますか? – inclement
@inclementはい、私はこのバグをandroid githubページのpythonに報告しました。私はイメージのサイズを変更するためにpilの代わりにpygameを使用するつもりです、それは私のために働く感謝:) – mnrl