質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Android NDK

Android NDKとは、Android SDKと対を成すツールです。ネイティブコードのアプリ、またはC/C++言語の既存のポートライブラリでパフォーマンスクリティカルな部分を構築できます。ヘッダ、ライブラリを提供して、アクティビティやユーザ入力処理などを構築できます。

Q&A

解決済

buildozerでandroid debug するとエラーになる

groggy_egg
groggy_egg

総合スコア24

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Android NDK

Android NDKとは、Android SDKと対を成すツールです。ネイティブコードのアプリ、またはC/C++言語の既存のポートライブラリでパフォーマンスクリティカルな部分を構築できます。ヘッダ、ライブラリを提供して、アクティビティやユーザ入力処理などを構築できます。

1回答

0グッド

0クリップ

4189閲覧

投稿2020/05/19 07:40

編集2020/05/21 02:00

目的
Ubuntuでbuildozerを使いPythonプログラムをデバッグしapk化すること。

経緯

  • buildozerをインストール
  • buildozer.spec 編集
  • buildozer android debug logcatコマンドを実行

参考サイト

実行結果

~$ buildozer android debug logcat : import imp [WARNING]: Unable to read the NDK version from the given directory /home/ubun/.buildozer/android/platform/android-ndk-r19c. [WARNING]: Make sure your NDK version is greater than 19. If you get build errors, download the recommended NDK 19c from https://developer.android.com/ndk/downloads/. [WARNING]: ndk_platform doesn't exist: /home/ubun/.buildozer/android/platform/android-ndk-r19c/platforms/android-21/arch-arm [WARNING]: Could not find toolchain subdirectory! [WARNING]: Could not find any toolchain for arm-linux-androideabi! Traceback (most recent call last): : File "/home/ubun/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 408, in prepare_build_environment self.toolchain_version = toolchain_version UnboundLocalError: local variable 'toolchain_version' referenced before assignment # Command failed: /usr/local/bin/python3.8 -m pythonforandroid.toolchain create --dist_name=testapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/ubun/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21 :

試したこと

  • sudo で実行
  • NDKのバージョンが読み取れないと指摘されていたのでr19cのNDKに変更して実行
  • APIレベル27(Android8.1)のSDKに変更して実行

以上の結果も同じエラーになりました。


追記
こちらリンクを参考

  • SDKのAPIレベルを20に変更
  • NDKをr17cに変更
  • main.pyと同じディレクトリにSDK,NDK,specを移動

buildozer.specの設定

android.ndk_path=/android-ndk-r17c android.sdk_path=/android-sdk

bashrcの設定(参考)

# python for android export ANDROIDSDK="$HOME/ProgramFiles/android-sdk/tools/bin" export ANDROIDNDK="$HOME/ProgramFiles/android-ndk-r17c" export ANDROIDAPI="20" export NDKAPI="17" export ANDROIDKVER="r17c"

main.pyのディレクトリに移動し
権限で引っかかったのでsudo buidlozer android debug deployで実行

前回のエラーを解決し今度は動いたと思ったのですが別のエラーになりました

: [INFO]: -> running python3 setup.py build_ext -v working: error: command '/usr/bin/ccache' failed with exit status 1 Exception in thread background thread for pid 23538: Traceback (most recent call last): : File "/home/ubun/.local/lib/python3.8/site-packages/sh.py", line 877, in handle_command_exit_code raise exc sh.ErrorReturnCode_1: : STDOUT: warning: [options] bootstrap class path not set in conjunction with -source 1.7 1 warning running build_ext building 'jnius' extension /usr/bin/ccache /android-ndk-r17c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC -I/home/ubun/ProgramFiles/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/python3/armeabi-v7a__ndk_target_21/python3/Include -DANDROID -D__ANDROID_API__=21 -I/android-ndk-r17c/sysroot/usr/include/arm-linux-androideabi -I/home/ubun/ProgramFiles/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/testapp/include/python3.8 -fPIC -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -I/home/ubun/ProgramFiles/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include -I/home/ubun/ProgramFiles/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build -c jnius/jnius.c -o build/temp.linux-x86_64-3.8/jnius/jnius.o clang: error: no such file or directory: 'jnius/jnius.c' clang: error: no input files error: command '/usr/bin/ccache' failed with exit status 1 STDERR: [INFO]: pyjnius first build failed (as expected) [INFO]: Running cython where appropriate [INFO]: Cythonize jnius/jnius.pyx [INFO]: -> running python3 -m Cython.Build.Cythoni...(and 20 more) working: /usr/local/bin/python3: Error while findi...(and 100 more) Exception in thread background thread for pid 23562: Traceback (most recent call last): : File "/home/ubun/.local/lib/python3.8/site-packages/sh.py", line 877, in handle_command_exit_code raise exc sh.ErrorReturnCode_1: RAN: /usr/local/bin/python3 -m Cython.Build.Cythonize ./jnius/jnius.pyx STDOUT: /usr/local/bin/python3: Error while finding module specification for 'Cython.Build.Cythonize' (ModuleNotFoundError: No module named 'Cython') STDERR: Traceback (most recent call last): : File "/home/ubun/.local/lib/python3.8/site-packages/sh.py", line 877, in handle_command_exit_code raise exc sh.ErrorReturnCode_1: RAN: /usr/local/bin/python3 -m Cython.Build.Cythonize ./jnius/jnius.pyx STDOUT: /usr/local/bin/python3: Error while finding module specification for 'Cython.Build.Cythonize' (ModuleNotFoundError: No module named 'Cython') STDERR: # Command failed: /usr/local/bin/python3.8 -m pythonforandroid.toolchain create --dist_name=testapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/ubun/ProgramFiles/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21 : # Buildozer failed to execute the last command # The error might be hidden in the log above this error # Please read the full log, and search for it before # raising an issue with buildozer itself. # In case of a bug report, please add a full log with log_level = 2

何が原因でエラーになってるかわかりません。

詳しい方アドバイスお願いします。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

自己解決

pip3 ではなく pip で実行したところこの問題は解決し
別のエラーになったため投稿し直します。

投稿2020/05/25 01:37

groggy_egg

総合スコア24

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Android NDK

Android NDKとは、Android SDKと対を成すツールです。ネイティブコードのアプリ、またはC/C++言語の既存のポートライブラリでパフォーマンスクリティカルな部分を構築できます。ヘッダ、ライブラリを提供して、アクティビティやユーザ入力処理などを構築できます。