如何解决Android Studio 看不到我的项目我无法运行
我是 Android Studio 的新手,但我决定使用 kivy 编写我的第一个应用程序,然后在 buildozer 的帮助下创建 .apk 文件。
运行 python main.py
时,应用程序可在我的 ubuntu 上运行。
经过一番挣扎(按照视频 https://www.youtube.com/watch?v=yr7n0C2tspI&ab_channel=ShawCode),它运行并命令
buildozer -v android debug
创建了 .apk 文件。
我将它上传到谷歌驱动器,然后安装在我的手机上,但它没有启动(黑屏几秒钟然后退出)。
我决定尝试使用 Android-studio 调试它并启动它是个好主意,但由于我是新手,我不太确定如何使用它。
我试图在找到项目时打开目录,但它起作用了,因为它无法运行它。
有谁知道我做错了什么,或者如何解决这种情况?
[编辑] 我设法运行 LogCat 并从我的应用程序中提取日志(警告和错误)。 他们在这里:
2021-05-25 12:52:59.581 19114-19130/org.test.misia W/libEGL: [ANDROID_RECORDABLE] format: 1
2021-05-25 12:53:02.495 19114-19143/org.test.misia E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
2021-05-25 12:53:02.499 19114-19143/org.test.misia W/libEGL: [ANDROID_RECORDABLE] format: 1
不幸的是,他们说得不多。任何人都可以翻译它们并看看是什么原因造成的?
解决方法
好吧,您做错了一件关键的事情:您试图导入在 Android Studio 中的某些 IDE(PyCharm?)中制作的项目,该项目不支持此类项目。由于不同的项目结构,有时甚至是语言,在一个 IDE 中制作的“移动”项目很少在任何其他 IDE 中工作。你选择了 Kivy 和 Python,你必须使用它和它的工具,Android Studio 适用于本机应用程序,而不是一些端口/分支。粉刺
,经过一些调试并运行另一个 android 模拟器 我们能够确定崩溃的原因是并非所有软件包都包含在 buildozer.spec 中。完整列表是:
# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy,kivymd,mapview,requests,urllib3,chardet,idna
现在可以正常启动了。
,评论太长了,但可能会有所帮助。 对于跨平台框架,我见过代码生成 Android Studio 项目,最后一步是使用 Android Studio 构建项目的示例。这就是为什么一些开发者建议您在开始开发应用时首先考虑构建原生应用:以便您了解原生工具的工作原理。
根据 Kivy documentation,看起来 Kivy 使用 buildozer 生成了一个 apk 文件(正如您所做的那样),但不是 Android Studio 项目。从这里开始,要调试它,看起来您将不得不使用日志文件和 logcat。
在您的应用代码中,您需要写入 STDOUT 或 STDERR(即您需要添加一些日志语句)。 在 Android Studio 中,您需要将 logcat 附加到代码的运行实例。对此有两种选择。您可以使用电缆将实际手机连接到运行 Android Studio 的计算机,然后将 LogCat 连接到该计算机。或者,您可以使用 Android Studio 启动一个模拟器(您需要选择一个合适的模拟器 - 有很多选项),然后在该模拟器上安装您的 .apk 文件(即只需单击并拖动 .apk 文件到模拟器打开后)。
LogCat 然后应该能够看到您的 apk 文件的输出(尽管您可能需要过滤 LogCat 的输出,因为某些应用程序在 LogCat 上可能非常“健谈”)。
不幸的是,调试可能很困难 - 使用 Android Studio,您需要选择要定位的 Android 版本,以便为实际设备生成合适的 .apk。我在您的帖子中看不到任何表明您确实做出了该选择的内容,因此我不知道您的目标是什么级别的 Android。您可能会从 LogCat 中获得一些调试信息,但这可能只是因为您的应用无法启动。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。