gpt4 book ai didi

opencv - Android SDK 工具 : OpenCV requires Android SDK Tools revision 14 or newer

转载 作者:行者123 更新时间:2023-12-04 11:32:52 25 4
gpt4 key购买 nike

我正在尝试使用 kivy、opencv 创建一个简单的照片捕获应用程序。当我尝试使用 buildozer 创建一个 .apk 文件,并将 opencv 放在 .spec 文件的需求中时,我遇到了这个错误

-- Android: fixup -g compiler option from Android toolchain
-- Update variable ANDROID_SDK from environment: /home/livon/.buildozer/android/platform/android-sdk
-- Android SDK Tools: ver. 2.0 (description: 'Android SDK Command-line Tools')
-- Android SDK Build Tools: ver. 30.0.0 (subdir 30.0.0 from 30.0.0)
CMake Error at cmake/android/OpenCVDetectAndroidSDK.cmake:176 (message):
Android SDK Tools: OpenCV requires Android SDK Tools revision 14 or newer.

Use BUILD_ANDROID_PROJECTS=OFF to prepare Android project files without
building them
Call Stack (most recent call first):
CMakeLists.txt:780 (include)


-- Configuring incomplete, errors occurred!
See also "/home/livon/Desktop/Ocv/.buildozer/android/platform/build-armeabi-
v7a/build/other_builds/opencv/armeabi-v7a__ndk_target_21/opencv/build/CMakeFiles/CMakeOutput.log".
See also "/home/livon/Desktop/Ocv/.buildozer/android/platform/build-armeabi-
v7a/build/other_builds/opencv/armeabi-v7a__ndk_target_21/opencv/build/CMakeFiles/CMakeError.log".er
# Command failed: /home/livon/venv/bin/python3 -m pythonforandroid.toolchain create --dist_name=test
--bootstrap=sdl2 --requirements=python3,kivy,opencv --arch armeabi-v7a --copy-libs --color=always --
storage-dir="/home/livon/Desktop/Ocv/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21
# ENVIRONMENT:
# ANDROIDNDK = '/home/livon/.buildozer/android/platform/android-ndk-r19c'
# ANDROIDAPI = '27'
# ANDROIDMINAPI = '21'
我也尝试更新 ANDROID_SDK,我去了 (/home/livon/.buildozer/android/platform/android-sdk) 这个文件夹并使用更新它
sudo apt-get upgrade
但是将其更新为 30.0.0 后没有任何变化,错误保持不变。
我正在使用
  • Ubuntu 19.10
  • Python 3.7.5
  • 基维 1.11.1
  • 生成器 1.2.0
  • openCv 4
  • 最佳答案

    我也收到此错误并担心了很长时间:(
    经过一堆谷歌搜索后,我找到了一些可能有帮助的解决方案。
    至少它适用于我的 Ubuntu 20.04 VM。
    (下载 Android Studio 并复制粘贴 dir 部分(最后 3 个步骤)的说明可能会解决您的问题,因为我也遇到了与您相同的错误。)

  • 第一次更新 apt
    sudo apt-get update
  • 升级包
    sudo apt-get upgrade
  • 安装python3 + pip
    sudo apt-get install python3 python3-pip
  • 配置默认 Python 版本 ( ref_1 ) ( ref_2 )
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python<X.X.X> 1
    sudo update-alternatives --config python
    其中 <X.X.X> 是所需的 Python 版本
  • 安装开发工具+依赖
    sudo apt-get install build-essential \
    libssl-dev \
    libffi-dev \
    python3-dev \
    dh-autoreconf \
    autoconf \
    libtool \
    pkg-config \
    zlib1g-dev \
    libncurses5-dev \
    libncursesw5-dev \
    libtinfo5 \
    cmake \
    ccache
  • 安装 kivy
  • apt
    sudo apt-get install python3-kivy
  • 通过 Python pip(我的首选方式)
    python3 -m pip install kivy==2.0.0

  • 安装cython
    pip3 install Cython
    sudo apt-get install cython
    //我是这样做的
  • 安装 javac
    sudo apt-get install openjdk-11-jdk openjdk-8-jdk
  • 检查是否安装了 javajavac
    java -version
    javac -version
  • 配置 java + javac (我将其配置为 openjdk8-jdk )
    sudo update-alternatives --config java
    sudo update-alternatives --config javac
  • 安装 cmake(我都做了)( ref )
  • python 方式
    pip3 install cmake
  • 手动方式
    cd /tmp
    wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz
    tar -zxvf cmake-3.20.0.tar.gz
    cd cmake-3.20.0
    ./bootstrap
    make
    sudo make install

  • 安装 buildozer(我使用 official way 重新安装了它)
  • 官方方式
    pip3 install --user --upgrade buildozer
  • 通过 git clone
    sudo apt-get install git
    git clone https://github.com/kivy/buildozer.git
    cd buildozer
    sudo python3 setup.py install

  • 安装Python IDLE(可选)(以下任一)
    sudo apt-get install idle3
  • 安装 Android Studio
    我尝试了不安装 Android Studio 的方法(仅使用 cmdline-tools),但就是想不通:(
    sudo snap install android-studio --classic
    并运行它,让它自己设置一切。
    之后,只需关闭它
  • 一切设置好后:( ref )
    打开文件
    复制位于 tools~/Home/Android/Sdk/ 目录
    将它粘贴到 ~/Home/.buildozer/android/platform/android-sdk 压缩位于那里的原始 tools 目录之后(通过右键单击 --> 压缩)(如果您看不到目录,请确保选中文件中的 show hidden file 复选框)选项
    然后转到 ~/Home/.buildozer/android/platform/android-sdk/tools/bin 并在终端中打开
    ./sdkmanager --install "tools"
    exit
  • 再次重建项目
    转到您的项目目录
    buildozer init  # if you haven't got the buildozer.spec in your project's dir
    buildozer android debug
    *.apk 将在 bin 可用

  • 我的 buildozer.spec :
    title = Screen_Recorder
    package.name = screen_recorder
    package.domain = org.test
    souce.dir = .
    source.include_exts = py,png,jpg,kv,atlas
    requirements = python3,kivy==2.0.0,android,opencv==4.5.3,numpy,pillow,EasyProcess,entrypoint2,mss,jeepney,plyer,pyscreenshot
    osx.python_version = 3
    osx.kivy_version = 2.0.0
    android.permission = CAMERA,RECORD_AUDIO,WRITE_EXTERNAL_STORAGE,READ_EXTERNAL_STORAGE
    引用
  • Stackoverflow Question: kivy camera application with opencv in android shows black screen
  • Stackoverflow Question: Logs Generated when launching an App in Kivy Launcher on Android
  • Stackoverflow Question: I Can't build buildozer for android
  • Youtube Video (I follow this video (the copy-paste dir part) to make it work): to get opencv4 work with kivy / buildozer on ubuntu
  • git discussion: Android compilation fails with opencv
  • Stackoverflow Question: android permissions in python using request_permissions
  • python-for-android docs - Working on Android

  • 笔记
  • 关闭终端并重新打开它,如果您更改根目录
  • 不要编辑 .bashrc 文件(就我而言,我没有)
  • 每次重建项目时删除项目目录中的 bin.buildozer 目录 运行 buildozer <platform> clean 0x9104
  • 使用 ls 列出当前目录中的所有文件+文件夹
  • 使用 cd <dir> 导航到目录
  • 使用 cd .. 导航到上一个目录
  • 如果您需要像 CAMERA 这样的权限,则需要将其添加到 buildozer.specpermission 并在您的 *.py 中添加以下内容以获得 android permission
    from kivy.utils import platform

    if platform == "android":

    from android.permissions import request_permissions, Permission

    request_permissions([ <permissions> ]) # e.g. Permission.WRITE_EXTERNAL_STORAGE , Permission.READ_EXTERNAL_STORAGE , Permission.CAMERA , Permission.RECORD_AUDIO , etc.
    (您不需要安装或导入 android ,只需在 androidbuildozer.spec 中包含 requirement 即可。)

  • 希望这有帮助(如果您发现任何不正确的地方,请更正)

    关于opencv - Android SDK 工具 : OpenCV requires Android SDK Tools revision 14 or newer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62582772/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com