我试图建立一个测试项目只是为了看看安装是否有效,但我几乎立即得到了这个错误.....
/首页/ kivy /安卓/ SDK /平台工具/工具/机器人
我已经安装了Android Studio并运行了更新。我安装了所需的14(android 4.0)工具。我下载了NDK,即使Android Studio创建了一个包含工具,平台,平台工具等文件夹的新Android文件夹,我仍然下载了独立文件夹Android-Linux(r24.4.1)。
Android-Linux和NDK正坐在家里/ documents / sdk_ndk /...
Android Studio创建的Android文件夹位于home / Android
Android Studio本身带有NDK和Android-Linux文件夹。
.bashrc有......
export ANDROIDSDK=$HOME/Documents/sdk_ndk/android-sdk-r24.4.1
export ANDROIDNDK=$HOME/Documents/sdk_ndk/android-ndk-r13b
export ANDROIDAPI="14"
export ANDROIDNDKVER="r13b"
我甚至试过......
export ANDROIDSDK=$HOME/Android/sdk
export ANDROIDNDK=$HOME/Documents/sdk_ndk/android-ndk-r13b
export ANDROIDAPI="14"
export ANDROIDNDKVER="r13b"
构建命令......
p4a apk --private ~/Desktop/testapp --package=org.example.myapp --name "testapp" --version 0.1 --bootstrap=sdl2 --requirements=python2,kivy
当我设置这个......
export ANDROIDSDK=$HOME/Documents/sdk_ndk/android-sdk-r24.4.1
未找到Api目标14。
当我设置这个......
导出ANDROIDSDK = $ HOME / Android / sdk
我没有得到api错误,但是我得到路径错误。
not found /home/kivy/Android/sdk/platform-tools/tools/android
我甚至试过......
export ANDROIDSDK=$HOME/Android/sdk/tools
export ANDROIDSDK=$HOME/Android/sdk/platform-tools
-------更新-------------------
我在路径附近加了'“'.....
export ANDROIDSDK="$Home/Documents/sdk_ndk/android-sdk-r24.4.1"
#export ANDROIDSDK="$Home/Android/sdk"
export ANDROIDNDK="$Home/Documents/sdk_ndk/android-ndk-r13b"
export ANDROIDAPI="14"
export ANDROIDNDKVER="r13b"
现在得到并且错误说它无法找到/ tools / android。这很奇怪,因为tools文件夹中有一个Android文件。它没有.sh扩展名,但它就在那里。
这是整个终端输出......
kivy@kivy-VirtualBox:~$ p4a apk --private ~/Desktop/testapp --package=org.urchatty.com --name "testapp" --version 0.1 --bootstrap=sd12 --requirements=python2,kivy
[INFO]: This python-for-android revamp is an experimental alpha release!
[INFO]: It should work (mostly), but you may experience missing features or bugs.
[INFO]: Will compile for the following archs: armeabi
[INFO]: Found Android API target in $ANDROIDAPI
Traceback (most recent call last):
File "/usr/local/bin/p4a", line 9, in <module>
load_entry_point('python-for-android==0.4', 'console_scripts', 'p4a')()
File "/usr/local/lib/python2.7/dist-packages/pythonforandroid/toolchain.py", line 754, in main
ToolchainCL()
File "/usr/local/lib/python2.7/dist-packages/pythonforandroid/toolchain.py", line 343, in __init__
getattr(self, command_method_name)(unknown)
File "/usr/local/lib/python2.7/dist-packages/pythonforandroid/toolchain.py", line 87, in wrapper_func
user_ndk_ver=self.ndk_version)
File "/usr/local/lib/python2.7/dist-packages/pythonforandroid/build.py", line 226, in prepare_build_environment
android = sh.Command(join(sdk_dir, 'tools', 'android'))
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 1029, in __init__
raise CommandNotFound(path)
sh.CommandNotFound: /Documents/sdk_ndk/android-sdk-r24.4.1/tools/android
kivy@kivy-VirtualBox:~$
---------更新-------------------------
似乎我在bashrc中的路径必须写成......“/ home / kivy / ....”。在我发现另一个错误之前我没有走远......
kivy@kivy-VirtualBox:~$ p4a apk --private $HOME/code/myapp --package=org.example.myapp --name "My application" --version 0.1 --bootstrap=sdl2 --requirements=python2,kivy
[INFO]: This python-for-android revamp is an experimental alpha release!
[INFO]: It should work (mostly), but you may experience missing features or bugs.
[INFO]: Will compile for the following archs: armeabi
[INFO]: Found Android API target in $ANDROIDAPI
[INFO]: Available Android APIs are (4, 19)
[INFO]: Requested API target 19 is available, continuing.
[INFO]: Found NDK dir in $ANDROIDNDK
[INFO]: Got NDK version from $ANDROIDNDKVER
[INFO]: Using Google NDK r13b
[INFO]: Found virtualenv at /usr/local/bin/virtualenv
[WARNING]: ndk_platform doesn't exist: /home.kivy/Documents/android-ndk-r13b/platforms/android-19/arch-arm
[WARNING]: Could not find toolchain subdirectory!
[WARNING]: Could not find any toolchain for arm-linux-androideabi!
[WARNING]: Missing executable: autoconf is not installed
[WARNING]: Missing executable: automake is not installed
[WARNING]: Missing executable: libtoolize is not installed
[ERROR]: python-for-android cannot continue; aborting
kivy@kivy-VirtualBox:~$
答案 0 :(得分:1)
EL3PHANTEN的回答有所不同。
# $ANDROIDSDK/tools/android update sdk --no-ui --filter 2,3,15
使用终端而不是管理器似乎有所帮助。为SDK下载的文件实际上更少。使用SDK Manager UI,它们要大得多。
另一个技巧是在bashrc中。路径必须以“/”开头。
"/home/kivy/Documents/...."
最后,p4a正在做这件事。 Kivy网站真的应该更新它的Docs以包含EL3PHANTEN的目的。此外,文档中使用的路径样式......
export ANDROIDSDK="$HOME/Documents/android-sdk-21"
export ANDROIDNDK="$HOME/Documents/android-ndk-r10e"
export ANDROIDAPI="14" # Minimum API version your application require
export ANDROIDNDKVER="r10e" # Version of the NDK you installed
如果由于某种原因,这不会削减。如果我早些时候得到EL3PHANTEN的帮助而不是按原样在Kivy网站上做任何事情,我本可以为自己节省大量的带宽和时间。
我现在唯一想到的是,接下来我会遇到什么错误?显然,关于这些东西的文件不是100%。
答案 1 :(得分:0)
正如您的错误所示,找不到android
文件夹中的sdk/tools
。因此,您的ANDROIDSDK
变量错误,或者您的tools
文件夹不包含android
如果是路径变量,请检查sdk的路径
如果缺少android
可执行文件,请在更新sdk时尝试以下步骤。
您可能在不选择套餐的情况下更新了所有内容
这意味着您的tools
文件夹现在可能为空
您现在可以做的是,在tools
中找到已打包的/home/kivy/Android/sdk/platform-tools/temp
文件夹,或删除整个sdk
文件夹,然后重试。
更新android-sdk
的正确方法是:
(以下过程花费的时间较少,因为您不需要所有包裹)
首先下载并解压缩sdk。
由于我们不需要所有包,我们首先需要一个可用包列表。
# ANDROIDSDK="$HOME/Android/sdk"
# $ANDROIDSDK/tools/android list sdk
现在我们得到一个包列表
我们需要安装build_tools和platform_tools,在我的例子中显示为2和3.此外,我们需要SDK Platform Android 4.0.3, API 15
,因为我们选择了API版本15.在我的情况下,此包也偶然显示为15。 (或任何你想要的API)
所以我们添加过滤器2,3,15。
请确保不要安装在我的情况下显示为1的Android SDK Tools
。这将清空tools文件夹,我们不希望这样。
请注意
您的过滤器可能有所不同,然后在上面说明。
然后运行此命令以安装您选择的软件包:
# $ANDROIDSDK/tools/android update sdk --no-ui --filter 2,3,15