android - 什么版本的 SDK 和 ndk 是 Nougat 的正确版本?
问题描述
我的智能手机使用 Android 7.0。
我正在 Ubuntu 18.04 上使用 buildozer 开发应用程序。
根据几个网站,API 是 24。
我不知道要使用哪个 sdk 和 ndk 版本。我尝试了几个版本,每次试验的结果都不同。
使用 API 24、min API 9、ndk 9c、sdk 20 (buildozer.spec) 我得到以下错误:
命令失败:/usr/bin/python -m pythonforandroid.toolchain create --dist_name=phone --bootstrap=sdl2 --requirements=python2,kivy --arch armeabi-v7a --copy-libs --color=always -- storage-dir="/home/edison/AppProjects/BESTPHONE/.buildozer/android/platform/build
日志中的错误太多了,我都不敢把它们都放在这里。
也许如果我知道什么是正确的 ndk 和 sdk 版本,我就不需要继续这个反复试验的过程了。我阅读了许多论坛,但没有任何帮助。请!
解决方案
NDK r9c 是古老的。它太旧了,甚至无法支持 Android 5。
您通常应该使用最新可用的 NDK。一个 NDK 包在其发布时支持所有相关的 API 级别。
至于您应该针对哪个 API 级别,答案更为复杂。有关详细信息,请参阅https://stackoverflow.com/a/21982908/632035。
推荐阅读
- python - 在python中操作文本文件
- ios - 收到错误 MFMailComposeViewController: Filtering mail sheet accounts for bundle ID
- react-native - onLoadEnd 没有在本机反应中触发
- android - Android相机在某些设备中提供旋转捕获的图像
- python-sockets - 客户端突然关闭程序后客户端套接字停止工作
- templates - Mandrill — 如何格式化车把模板的复杂数据
- c# - WebBrowser 编码 UTF-8
- apache-spark - 如何在 Spark 数据框中连接条件?
- java - 当 java.net.preferIPv4Stack=true 时,无法将 InetAddress.isReachable(timeout) 用于 IPv6
- variables - 根据现有变量计算Stata中的新变量