Kivy安卓实战:8 |安卓打包OpenCV| 寫個工具箱把8 - 图1
© Karobben

由於語法渲染問題而影響閱讀體驗, 請移步博客閱讀~
本文GitPage地址

  1. CryptoWatch-Kivy 1.13
  2. Kivy 2.0.0
  3. Kivy-Garden 0.1.4
  4. kivy-garden.wordcloud 1.0.0
  5. kivymd 0.104.2.dev0

Build OpenCV for kivy

The resolution is from franslott in github issue.

It seems the new version of buildozer updated the SDK tools and no longer supports packing the OpenCV with the default setting. So, we should settle the SDK by ourselves.

What can we do with OpenCV in Android:

  • loading/writing images
  • writing videos (some formats like avi)
  • facial detection with the camera opened by kivy

What we can’t do:

  • loading videos
  • open cameras
  • update images under threading (display)

Abilities of OpenCV were limited in android. Hope someone could solve the problems above soon.

  1. #mv tools old-tools
  2. # mv lib/external/com/android/tools lib/external/com/android/old-tools
  3. # 1. Download [cmdlines-tools from google](https://developer.android.com/studio#cmdline-tools)
  4. # 2. prepare the sdk by yourself
  5. # export the path you'd like to place it
  6. export PREFIX=/run/media/karobben/Data/Kivy2.0MD0.104.2.dP3.7.5
  7. mkdir $PREFIX/.buildozer/android/platform/android-sdk
  8. cd $PREFIX/.buildozer/android/platform/android-sdk/
  9. cp ~/Downloads/commandlinetools-linux-7302050_latest.zip .
  10. unzip commandlinetools-linux-7302050_latest.zip
  11. # mv tools old-tools
  12. cd cmdline-tools/bin
  13. sudo ./sdkmanager --sdk_root=$PREFIX/.buildozer/android/platform/android-sdk/ --install "tools"
  14. sudo ./sdkmanager --sdk_root=$PREFIX/.buildozer/android/platform/android-sdk/ --install "build-tools;29.0.0-rc3"
  15. sudo ./sdkmanager --sdk_root=$PREFIX/.buildozer/android/platform/android-sdk/ --install "platforms;android-27"
  16. sudo ./sdkmanager --sdk_root=$PREFIX/.buildozer/android/platform/android-sdk/ --install "platform-tools"
  17. sudo ./sdkmanager --sdk_root=$PREFIX/.buildozer/android/platform/android-sdk/ --install "patcher;v4"
  18. sudo ./sdkmanager --sdk_root=$PREFIX/.buildozer/android/platform/android-sdk/ --install "emulator"
  19. sudo ./sdkmanager --sdk_root=$PREFIX/android-sdk/ --install "tools"
  20. sudo ./sdkmanager --sdk_root=$PREFIX/android-sdk/ --install "build-tools;29.0.0-rc3"
  21. sudo ./sdkmanager --sdk_root=$PREFIX/android-sdk/ --install "platforms;android-27"
  22. sudo ./sdkmanager --sdk_root=$PREFIX/android-sdk/ --install "platform-tools"
  23. sudo ./sdkmanager --sdk_root=$PREFIX/android-sdk/ --install "patcher;v4"
  24. sudo ./sdkmanager --sdk_root=$PREFIX/android-sdk/ --install "emulator"

adding the path into buildozer.spc:

  1. android.sdk_path = /run/media/ken/Data/Kivy2.0MD0.104.2.dP3.7.5/android-sdk/
  1. # delete ANT, NDK again
  2. buildozer android clean
  3. buildozer distclean
  4. buildozer -v android debug
  5. # or buildozer android debug deploy run

Enjoy~

本文由Python腳本GitHub/語雀自動更新

由於語法渲染問題而影響閱讀體驗, 請移步博客閱讀~
本文GitPage地址

GitHub: Karobben
Blog:Karobben
BiliBili:史上最不正經的生物狗