İsabetli bir tahmin hocam bir forumda şok sürümünü 21 yaparak düzeldiğini yazmış arkadaş bende yaptım ancak ndk sürümünden hata verdi onu nasıl çözecegime bakıyorum şuan
Derleme esnasında six, pyjnius ve kivy paketleri tekrar indiriliyor. Önceleri bu paketler indirilemediği için hata veriyordu. Ama daha sonra bu üç paketi manuel olarak indirdim ve ~/.buildozer klasörüne ekledim. buildozer.spec dosyasının içindeki requirements kısmında da paketlerin yollarını tanıttım:
# (list) Application requirements
# comma seperated e.g. requirements = sqlite3,kivy
requirements = python3crystax,kivy,six,pyjnius
# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy
android.ndk_path = ~/.buildozer/crystax-ndk
requirements.source.six = ~/.buildozer/six
requirements.source.pyjnius = ~/.buildozer/pyjnius
requirements.source.kivy = ~/.buildozer/kivy
Tekrar aynı yerlerde hata vermedi, daha önce gerekli olan dosyalar manuel olarak indirildiği için atladı o kısımları. Ancak bu sefer başka bir hatayla karşılaştım.
Hata mesajı:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 2170, in background_thread
handle_exit_code(exit_code)
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 1929, in fn
return self.command.handle_command_exit_code(exit_code)
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 672, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:
RAN: /usr/bin/python3.5 setup.py build_ext -v
STDOUT:
/usr/lib/python3/dist-packages/setuptools/dist.py:333: UserWarning: Normalizing '1.1.2-dev' to '1.1.2.dev0'
normalized_version,
running build_ext
building 'jnius' extension
creating build
creating build/temp.linux-x86_64-3.5
creating build/temp.linux-x86_64-3.5/jnius
/usr/bin/ccache arm-linux-androideabi-gcc -DANDROID -mandroid -fomit-frame-pointer --sysroot /home/tanberk/.buildozer/crystax-ndk/platforms/android-19/arch-arm -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -I/home/tanberk/.buildozer/crystax-ndk/sources/python/3.5/include/python -DANDROID -mandroid -fomit-frame-pointer --sysroot /home/tanberk/.buildozer/crystax-ndk/platforms/android-19/arch-arm -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.5m -c jnius/jnius.c -o build/temp.linux-x86_64-3.5/jnius/jnius.o
arm-linux-androideabi-gcc: error: jnius/jnius.c: No such file or directory
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.
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 cython ./jnius/jnius.pyx
Exception in thread background thread for pid 11379:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 2170, in background_thread
handle_exit_code(exit_code)
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 1929, in fn
return self.command.handle_command_exit_code(exit_code)
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 672, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:
RAN: /usr/bin/cython ./jnius/jnius.pyx
STDOUT:
Traceback (most recent call last):
File "/usr/bin/cython", line 7, in <module>
from Cython.Compiler.Main import main
ImportError: No module named Cython.Compiler.Main
STDERR:
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/toolchain.py", line 916, in <module>
main()
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/toolchain.py", line 913, in main
ToolchainCL()
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/toolchain.py", line 514, in __init__
getattr(self, args.subparser_name.replace('-', '_'))(args)
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/toolchain.py", line 147, in wrapper_func
build_dist_from_args(ctx, dist, args)
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/toolchain.py", line 192, in build_dist_from_args
build_recipes(build_order, python_modules, ctx)
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/build.py", line 572, in build_recipes
recipe.build_arch(arch)
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/recipe.py", line 975, in build_arch
self.build_cython_components(arch)
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/recipe.py", line 1010, in build_cython_components
self.cythonize_build(env=env)
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/recipe.py", line 1055, in cythonize_build
self.cythonize_file(env, build_dir, join(root, filename))
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/recipe.py", line 1046, in cythonize_file
shprint(cython_command, filename, *self.cython_args, _env=cyenv)
File "/home/tanberk/İndirilenler/.buildozer/android/platform/python-for-android-master/pythonforandroid/logger.py", line 175, in shprint
for line in output:
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 720, in next
self.wait()
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 651, in wait
self.handle_command_exit_code(exit_code)
File "/home/tanberk/.local/lib/python3.5/site-packages/sh.py", line 672, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:
RAN: /usr/bin/cython ./jnius/jnius.pyx
STDOUT:
Traceback (most recent call last):
File "/usr/bin/cython", line 7, in <module>
from Cython.Compiler.Main import main
ImportError: No module named Cython.Compiler.Main
STDERR:
# Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3crystax,kivy,six,pyjnius --arch armeabi-v7a --copy-libs --color=always --storage-dir=/home/tanberk/İndirilenler/.buildozer/android/platform/build
#
# 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
Özetle ne yaptıysam bir türlü ilk derleme işlemini yapamadım.
Merhaba.
Şuraya bir bakın isterseniz; Buildozer için bir Docker yansısı yapmış bir arkadaş: https://github.com/tshirtman/Buildozer-docker Docker ile hali hazırda kurulmuş ve ayarlanmış teknolojileri doğrudan kullanabilirsiniz. Daha fazla bilgiyi kendi sitesinin başlangıç bölümünde bulabilirsiniz.
İyi çalışmalar.
Docker yansısını indirdim, kurdum. Ancak derleme esnasında yine hatayla karşılaştım. Birşeyleri eksik mi yapıyorum diye düşünüyorum.
Önce bir init dosyası oluşturdum:
sudo docker run -v $PWD:/buildozer tshirtman/buildozer buildozer init .
Bu işlem biraz uzun sürdü, indirilmesi gereken dosyalar varmış, onları indirdi ve ardından buildozer.spec dosyası oluşturuldu.
Sonra aşağıdaki komutu yazdım.
sudo docker run -v $PWD:/buildozer/ tshirtman/buildozer
Yukarıdaki komutu yazdıktan sonra beklemeye başladım, ilk derleme biraz uzun sürüyormuş. Ancak uygulamayı paketleme işleminde IOError hatasıyla karşılaştım.
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Install platform
# Apache ANT found at /home/buildozer/.buildozer/android/platform/apache-ant-1.9.4
# Android SDK found at /home/buildozer/.buildozer/android/platform/android-sdk-20
# Android NDK found at /home/buildozer/.buildozer/android/platform/android-ndk-r9c
Refresh Sources:
Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml
Validate XML
Parse XML
Fetched Add-ons List successfully
Refresh Sources
Fetching URL: https://dl-ssl.google.com/android/repository/repository-9.xml
Validate XML: https://dl-ssl.google.com/android/repository/repository-8.xml
Parse XML: https://dl-ssl.google.com/android/repository/repository-8.xml
Fetching URL: https://dl-ssl.google.com/android/repository/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/glass/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/glass/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Refresh Sources:
Fetching URL: https://dl-ssl.google.com/android/repository/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/glass/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/glass/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Refresh Sources:
Fetching URL: https://dl-ssl.google.com/android/repository/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/glass/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/glass/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Packages available for installation or update: 15
----------
id: 1 or "tools"
Type: Tool
Desc: Android SDK Tools, revision 24.0.2
----------
id: 2 or "platform-tools"
Type: PlatformTool
Desc: Android SDK Platform-tools, revision 20
----------
id: 3 or "doc-19"
Type: Doc
Desc: Documentation for Android SDK, API 19, revision 2
----------
id: 4 or "sample-19"
Type: Sample
Desc: Samples for SDK API 19, revision 5
----------
id: 5 or "sample-18"
Type: Sample
Desc: Samples for SDK API 18, revision 1
----------
id: 6 or "sample-17"
Type: Sample
Desc: Samples for SDK API 17, revision 1
----------
id: 7 or "sample-16"
Type: Sample
Desc: Samples for SDK API 16, revision 1
----------
id: 8 or "sample-15"
Type: Sample
Desc: Samples for SDK API 15, revision 2
----------
id: 9 or "sample-14"
Type: Sample
Desc: Samples for SDK API 14, revision 2
----------
id: 10 or "sample-13"
Type: Sample
Desc: Android SDK Samples for Android API 13, revision 1
----------
id: 11 or "sample-12"
Type: Sample
Desc: Android SDK Samples for Android API 12, revision 1
----------
id: 12 or "sample-11"
Type: Sample
Desc: Android SDK Samples for Android API 11, revision 1
----------
id: 13 or "sample-10"
Type: Sample
Desc: Android SDK Samples for Android API 10, revision 1
----------
id: 14 or "sample-8"
Type: Sample
Desc: Android SDK Samples for Android API 8, revision 1
----------
id: 15 or "sample-7"
Type: Sample
Desc: Android SDK Samples for Android API 7, revision 1
Refresh Sources:
Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml
Validate XML
Parse XML
Fetched Add-ons List successfully
Refresh Sources
Fetching URL: https://dl-ssl.google.com/android/repository/repository-9.xml
Validate XML: https://dl-ssl.google.com/android/repository/repository-8.xml
Parse XML: https://dl-ssl.google.com/android/repository/repository-8.xml
Fetching URL: https://dl-ssl.google.com/android/repository/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/glass/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/glass/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Refresh Sources:
Fetching URL: https://dl-ssl.google.com/android/repository/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/glass/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/glass/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Validate XML: https://dl-ssl.google.com/android/repository/extras/intel/addon.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-wear/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/android-tv/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Fetching URL: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Validate XML: https://dl-ssl.google.com/android/repository/sys-img/google_apis_playstore/sys-img.xml
Packages available for installation or update: 49
----------
id: 1 or "tools"
Type: Tool
Desc: Android SDK Tools, revision 24.0.2
----------
id: 2 or "platform-tools"
Type: PlatformTool
Desc: Android SDK Platform-tools, revision 20
----------
id: 3 or "build-tools-19.1.0"
Type: BuildTool
Desc: Android SDK Build-tools, revision 19.1
----------
id: 4 or "build-tools-19.0.3"
Type: BuildTool
Desc: Android SDK Build-tools, revision 19.0.3
----------
id: 5 or "build-tools-19.0.2"
Type: BuildTool
Desc: Android SDK Build-tools, revision 19.0.2
----------
id: 6 or "build-tools-19.0.1"
Type: BuildTool
Desc: Android SDK Build-tools, revision 19.0.1
----------
id: 7 or "build-tools-19.0.0"
Type: BuildTool
Desc: Android SDK Build-tools, revision 19
----------
id: 8 or "build-tools-18.1.1"
Type: BuildTool
Desc: Android SDK Build-tools, revision 18.1.1
----------
id: 9 or "build-tools-18.1.0"
Type: BuildTool
Desc: Android SDK Build-tools, revision 18.1
----------
id: 10 or "build-tools-18.0.1"
Type: BuildTool
Desc: Android SDK Build-tools, revision 18.0.1
----------
id: 11 or "build-tools-17.0.0"
Type: BuildTool
Desc: Android SDK Build-tools, revision 17
----------
id: 12 or "doc-19"
Type: Doc
Desc: Documentation for Android SDK, API 19, revision 2
----------
id: 13 or "android-19"
Type: Platform
Desc: Android SDK Platform 4.4.2
Revision 3
----------
id: 14 or "android-18"
Type: Platform
Desc: Android SDK Platform 4.3
Revision 2
----------
id: 15 or "android-17"
Type: Platform
Desc: Android SDK Platform 4.2.2
Revision 2
----------
id: 16 or "android-16"
Type: Platform
Desc: Android SDK Platform 4.1.2
Revision 4
----------
id: 17 or "android-15"
Type: Platform
Desc: Android SDK Platform 4.0.3
Revision 3
----------
id: 18 or "android-14"
Type: Platform
Desc: Android SDK Platform 4.0
Revision 3
----------
id: 19 or "android-13"
Type: Platform
Desc: Android SDK Platform 3.2, revision 1
----------
id: 20 or "android-12"
Type: Platform
Desc: Android SDK Platform 3.1, revision 3
----------
id: 21 or "android-11"
Type: Platform
Desc: Android SDK Platform 3.0, revision 2
----------
id: 22 or "android-10"
Type: Platform
Desc: Android SDK Platform 2.3.3._r2
Revision 2
----------
id: 23 or "android-9"
Type: Platform
Desc: Android SDK Platform 2.3.1_r2
Revision 2 (Obsolete)
----------
id: 24 or "android-8"
Type: Platform
Desc: Android SDK Platform 2.2_r3
Revision 3
----------
id: 25 or "android-7"
Type: Platform
Desc: Android SDK Platform 2.1_r3
Revision 3
----------
id: 26 or "android-6"
Type: Platform
Desc: Android SDK Platform 2.0.1_r1
Revision 1 (Obsolete)
----------
id: 27 or "android-5"
Type: Platform
Desc: Android SDK Platform 2.0, revision 1
----------
id: 28 or "android-4"
Type: Platform
Desc: Android SDK Platform 1.6_r2
Revision 3
----------
id: 29 or "android-3"
Type: Platform
Desc: Android SDK Platform 1.5_r3
Revision 4
----------
id: 30 or "android-2"
Type: Platform
Desc: Android SDK Platform 1.1_r1
Revision 1 (Obsolete)
----------
id: 31 or "sample-19"
Type: Sample
Desc: Samples for SDK API 19, revision 5
----------
id: 32 or "sample-18"
Type: Sample
Desc: Samples for SDK API 18, revision 1
----------
id: 33 or "sample-17"
Type: Sample
Desc: Samples for SDK API 17, revision 1
----------
id: 34 or "sample-16"
Type: Sample
Desc: Samples for SDK API 16, revision 1
----------
id: 35 or "sample-15"
Type: Sample
Desc: Samples for SDK API 15, revision 2
----------
id: 36 or "sample-14"
Type: Sample
Desc: Samples for SDK API 14, revision 2
----------
id: 37 or "sample-13"
Type: Sample
Desc: Android SDK Samples for Android API 13, revision 1
----------
id: 38 or "sample-12"
Type: Sample
Desc: Android SDK Samples for Android API 12, revision 1
----------
id: 39 or "sample-11"
Type: Sample
Desc: Android SDK Samples for Android API 11, revision 1
----------
id: 40 or "sample-10"
Type: Sample
Desc: Android SDK Samples for Android API 10, revision 1
----------
id: 41 or "sample-9"
Type: Sample
Desc: Android SDK Samples for Android API 9, revision 1
----------
id: 42 or "sample-8"
Type: Sample
Desc: Android SDK Samples for Android API 8, revision 1
----------
id: 43 or "sample-7"
Type: Sample
Desc: Android SDK Samples for Android API 7, revision 1
----------
id: 44 or "source-19"
Type: Source
Desc: Sources for Android SDK, API 19, revision 2
----------
id: 45 or "source-18"
Type: Source
Desc: Sources for Android SDK, API 18, revision 1
----------
id: 46 or "source-17"
Type: Source
Desc: Sources for Android SDK, API 17, revision 1
----------
id: 47 or "source-16"
Type: Source
Desc: Sources for Android SDK, API 16, revision 2
----------
id: 48 or "source-15"
Type: Source
Desc: Sources for Android SDK, API 15, revision 2
----------
id: 49 or "source-14"
Type: Source
Desc: Sources for Android SDK, API 14, revision 1
# Android packages installation done.
# Check application requirements
# Check garden requirements
# Compile platform
# Build the application #1
# Package the application
Traceback (most recent call last):
File "/usr/local/bin/buildozer", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/buildozer/scripts/client.py", line 13, in main
Buildozer().run_command(sys.argv[1:])
File "/usr/local/lib/python2.7/dist-packages/buildozer/__init__.py", line 1058, in run_command
self.target.run_commands(args)
File "/usr/local/lib/python2.7/dist-packages/buildozer/target.py", line 91, in run_commands
func(args)
File "/usr/local/lib/python2.7/dist-packages/buildozer/target.py", line 103, in cmd_debug
self.buildozer.build()
File "/usr/local/lib/python2.7/dist-packages/buildozer/__init__.py", line 212, in build
self.target.build_package()
File "/usr/local/lib/python2.7/dist-packages/buildozer/targets/android.py", line 808, in build_package
copyfile(join(apk_dir, apk), join(self.buildozer.bin_dir, apk_dest))
File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: u'/buildozer/bin/MyApplication-0.1-debug.apk'
Şurada bir yansı daha buldum, işe yarayabilir: https://hub.docker.com/r/olymk2/docker_buildozer/
https://hub.docker.com/r/olymk2/docker_buildozer/~/dockerfile/ sayfasındaki bütün işlemleri de yapmamız gerekiyor mu? Yoksa;
docker pull olymk2/docker_buildozer
yazarak yansıyı mı çekmek gerekiyor?
Docker’ın güzelliği burada; Dockerfile içindekileri otomatik olarak yapar. Docker’ı otomatik olarak kurulum ve ayarları yapan bir VirtualBox gibi düşünebilirsiniz. Sizin pull
komutu ile yansıyı çekmeniz ve bağlantısını verdiğim sayfadaki diğer komutları(run
gibi) vermeniz yeterli. Aslında Docker daha çok sunucularda çalışmak için tasarlanmış bir yazılım, geliştirme ortamı için Vagrant isimli bir alternatifi var, ona da bakabilirsiniz. Zor kurulan kütüphane/çatılar için biçilmiş kaftan.
Aynı buradaki örnekteki gibi PHP web geliştirme ortamının da kurulumu zor. Bu sorunu aşmak için öncelerden XAMPP/WAMPP/LAMPP yığınları vardı. Daha sonra bu yığınların daha da otomatikleştirilmiş hali olarak düşünebileceğimiz Vagrant ve Docker araçları çıktı. PHP’nin şu sıralar en gözde web geliştirme çatısı olan Laravel, kurulumu kolay kılmak adına Homestead adını verdiği bir Vagrant yansısını kullanmamızı istiyor. Yani kısacası zor bir kurulum varsa doğrudan Vagrant ve Docker’a bakmanızı şiddetle öneririm.
Şimdi yansıyı çekiyorum, biraz zaman alacak galiba. Sonra da sayfadaki komutları çalıştırmayı deneyeceğim.
Docker’la da yapamadım.
Ancak daha sonra basit bir “hello world” uygulaması python2.7’de derlendi, bin klasörünün içindeki dosyayı telefona attım, sorun vermeden çalıştı orada da.
Birazdan python3.5 ile yine aynı “hello world” uygulamasını derleyeceğim. Şayet sorun vermeden derlenirse, sqlite3 veya sqlalchemy ile farklı bir çalışmayı derlemeye çalışacağım.
Edit: “Hello World” programı Python 3.5’te de derlendi ve bin klasörünün içindeki dosyayı telefona atıp çalıştırdım.
Edit: Yanılmıyorsam hata virtualenv modülünden kaynaklanıyordu. Bu modülü pip ile Python2.7 için, pip3 ile de Python3.5 için çekmiştim. Sonra her ikisini de kaldırdım ve aşağıdaki komutu yazdım ve artık sorun vermemeye başladı:
sudo apt-get install virtualenv
Tekrar merhaba, gönderdiğiniz main.py dosyası Python 2.7 kullanılarak android uygulamasına dönüştü. Ancak Python 3.5’de hata veriyor hala.
main.py dosyasının içinde kivy.require(‘1.9.1’) yazıyor. Benim kullandığım sürüm 1.10.0. Bu yüzden bu kısmı 1.10.0 olarak değiştirdim.
buildozer.spec dosyasının içinde aşağıdaki değişiklikler yapıldı:
# (list) Application requirements
# comma seperated e.g. requirements = sqlite3,kivy
requirements = sqlite3,sqlalchemy,kivy
# change the major version of python used by the app
osx.python_version = 2
# Kivy version to use
osx.kivy_version = 1.10.0
Umarım sizde de çalışır.
Dosyalar: https://www.dropbox.com/sh/9r356h4pex7l0s3/AACuSnZUv-ocuPMnYOHtMojga?dl=0
Python3’te android ndk paketi olarak crystax-ndk-10.3.2 öneriliyor. Sanıyorum sqlalchemy modülü python3crystax (crystax-ndk-10.3.2) ndk paketiyle uyumlu değil.
Hem python2’de hem de python3’de basit bir “hello world” android uygulaması derlendi. Her iki uygulama da telefonda çalışıyor. Okuduklarımdan anladığım kadarıyla crystax, Python3’ün standart kütüphane modülleri ile uyumlu ama 3. parti modülleriyle uyumsuz olabiliyor.
Python2’de ndk paketi olarak google’un paketi kullanılıyor. buildozer.spec dosyasının içindeki requirements kısmında ndk ile ilgili olan kısım boş bırakılıyor. Oysa Python3 kullanırken, kullanıcının requirements kısmında ndk paketini tanıtması gerekiyor yoksa derleme esnasında google’un ndk paketi otomatik olarak indiriliyor ve sonra da çeşitli hatalar oluşuyor.
Python3’te sqlalchemy’yi gerekenler listesine eklemeden derleme işlemini yaptığım zaman hata almadım. Android uygulaması oluştu ancak uygulamanın parçası olan sqlalchemy modülü derlemeye dahil olmadığı için uygulama telefonda çalışmadı. Modül, derlemeye dahil edilince de derleme hatayla sonuçlanıyor.
Build options — python-for-android 0.1 documentation sitesinden alıntı:
python2
This option builds Python 2.7.2 for your selected Android architecture. There are no special requirements, all the building is done locally.
Bu seçenek, Python 2.7.2.'yi, seçtiğiniz Android mimarisine kurar. Özel bir gereksinimi yoktur, kurulumun tamamı yerel olarak yapılır.
python3
Warning
Python3 support is experimental, and some of these details may change as it is improved and fully stabilised.
Python3 desteği deneyseldir ve bu ayrıntıların bazıları geliştirilip sabitleştirildiği zaman değişebilir.
This uses the prebuilt Python from the CrystaX NDK, a drop-in replacement for Google’s official NDK which includes many improvements. You must use the CrystaX NDK 10.3.0 or higher when building with python3. You can get it here.
Bu, birçok iyileştirmeleri bulunan ve Google’un resmi NDK’sının yerini alan; CrystaX NDK paketinin önceden hazırlanmış Python’ını kullanır. Python3’le kurulum yaparken CrystaX NDK’yı kullanmak zorundasınız. Ona buradan ulaşabilirsiniz.
The python3crystax build is handled quite differently to python2 so there may be bugs or surprising behaviours. If you come across any, feel free to open an issue.
python3crstax’ın kurulumunun ele alınması python2’den oldukça farklıdır, o halde can sıkıcı ve şaşırtıcı davranışları olabilir. Eğer bunlardan biriyle karşılaşırsanız, konu açmaktan çekinmeyin.
Hocam merhabalar
Göndermiş olduğunuz dosyayı indirdim ve buildozer android debug release deploy run komutuyla derlemek istediğimde domain org.test olduğu için hata verdi. Onu değiştirip tekrara derlediğim de de malesef çalışmadı.
Aşşağıda çökme esnasında buildozer logcat’ten almış olduğum ekran görüntüsü var ve aynı sorunu gösteriyor ‘pysqlite2 import error’ .
Dosyalarda bin klasörünün içinde android uygulaması var, telefona atıldığı zaman çalışmıştı bende, sizde de çalıştı mı?
domain org.test nedir?
Bu arada, daha önceden yaptığınız çalışmalar sonucunda.buildozer isimli dosya oluştuysa onu silin, tekrar debug etmeyi deneyin.
domain org.test ilk buildozer.spec dosyası oluşturulduğunda default verilen parametre ve vermiş olduğum buildozer android debug release deploy run komutu ile derleme yapıldığında bunu kabul etmiyor. Muhtemelen siz buildozer -v android debug komutu ile derleme yaptığınız için bu hatayla karşılaşmamışsınızdır. Buildozer.spec dosyasını yeniden oluşturmadım hocam hatta verdiğiniz kodlarla da karşılaştırdım aynı. Doğrudan bin klasöründeki apk’yı atıp denemedim onu da deneyip sonucu burdan yazarım hocam, iyi çalışmalar.
buildozer android debug deploy run yazarak yaptım. Sizin gönderdiğiniz .spec dosyasının içinde değişiklikler yapıldı ama. O haliyle bende de çalışmamıştı. kivy versiyonu yanlıştı, bir de main.py dosyasının içindeki kivy versiyonu yüklü olan kivy versiyonu değildi. Python majör sürümü için 2.7 yazmıştınız, 2 olacak orası. Bu değişiklikleri yapın. Bu arada .buildozer klasörünü de silin, yeniden deneyin.
hocam apk yı doğrudan yükleyince çalıştı harika elinize sağlık ancak konu biraz dağıldı bende şimdi tam olarak sorunumuz ne idi hem diğer arkadaşlar içinde açıklayıcı olacak şekilde rica etsem tespitlerinizi tek bir post ta toplayabilir misiniz ? İyi çalışmalar.
Tamam, toparlamaya çalışayım:
Aşağıdaki yöntem Python2 için geçerlidir.
- Önce cython’u ve virtualenv’i aşağıdaki gibi yükleyelim. Daha önce pip ile yüklenmişlerse kaldıralım. Ve bu şekilde yüklemeyi deneyelim.
sudo apt-get install cython
sudo apt-get install virtualenv
- Versiyonlarımızı bir kontrol edelim.
>>> import cython
>>> import virtualenv
>>> import kivy
[INFO ] [Logger ] Record log in /home/tanberk/.kivy/logs/kivy_17-10-08_1.txt
[INFO ] [Kivy ] v1.10.0
[INFO ] [Python ] v3.5.3 (default, Sep 14 2017, 22:58:41)
[GCC 6.3.0 20170406]
>>> cython.__version__
'0.25.2'
>>>
>>> virtualenv.__version__
'15.1.0'
>>>
- main.py’yi indirelim.
https://www.dropbox.com/sh/9r356h4pex7l0s3/AACuSnZUv-ocuPMnYOHtMojga?dl=0
- İndirdiğimiz main.py’yi bir açalım. Kivy sürümünün bu dosya içinde kaç yazıldığına bakalım.
kivy.require('1.10.0')
# kivy sürümleri aynı olmalı.
- Yeni bir tane .spec dosyası oluşturalım.
buildozer init
- .spec dosyasını açalım ve aşağıdaki eklemeleri yapıp kaydedelim:
# (list) Application requirements
# comma seperated e.g. requirements = sqlite3,kivy
requirements = sqlite3,sqlalchemy,kivy
# change the major version of python used by the app
osx.python_version = 2
# Kivy version to use
osx.kivy_version = 1.10.0
- Artık derleme işlemine geçebiliriz.
buildozer android debug deploy run
.
Merhabalar, ben de neredeyse aynı sorunları alıyorum, sqlite3 ile sorunsuz çalıştı mı? Bende base64, simplejson felan da var, sizin dediklerinizi deneyeceğim, 2 gündür sıfırdan kotlinde yqzmaya çalışıyorum, ama bazı webservisleri pythonda yazdığım için javada yazmam zor oluyor, sizin yöntem çalışsa harika olacak))
Buarada Google collab ile yapıyorum, önerilir mi bu yöntem?