Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
请参阅android上使用kivy-kivy launcher打印语句的输出_Android_Python_Kivy - Fatal编程技术网

请参阅android上使用kivy-kivy launcher打印语句的输出

请参阅android上使用kivy-kivy launcher打印语句的输出,android,python,kivy,Android,Python,Kivy,我创建了一个程序,在运行时在stdoutput上打印一些指令。当我在windows上执行应用程序时,我可以看到它们,但是当我在android设备三星S3上运行相同的应用程序时,我在任何地方都看不到打印语句的输出 有时我们可以看到设备上的.kivy目录与程序位于同一目录中,但这些日志文件也包含特定于kivy的日志,但它们忽略打印语句输出 任何人都可以就如何使用它给出一些建议…使用adb获取应用程序的输出,或者使用在线可用的应用程序之一来帮助显示您的日志和“Python”的grep 以上的详细步骤:

我创建了一个程序,在运行时在stdoutput上打印一些指令。当我在windows上执行应用程序时,我可以看到它们,但是当我在android设备三星S3上运行相同的应用程序时,我在任何地方都看不到打印语句的输出

有时我们可以看到设备上的.kivy目录与程序位于同一目录中,但这些日志文件也包含特定于kivy的日志,但它们忽略打印语句输出

任何人都可以就如何使用它给出一些建议…

使用adb获取应用程序的输出,或者使用在线可用的应用程序之一来帮助显示您的日志和“Python”的grep

以上的详细步骤:


在您的设备上启用开发者选项(谷歌是您的朋友)。 然后启用usb调试

拍摄自

然后使用usb电缆将设备连接到电脑,然后在控制台中键入
adb devices
。 它应该显示您的设备(可能会有一个提示,要求您获得连接到计算机的权限)

一种简单的方法是在小部件上使用视觉指示,而不是在控制台上打印。 您可以为应用程序创建一个函数
bubprint

from kivy.core.window import Window
from kivy.clock import Clock
from kivy.factory import Factory
from kivy.lang import Builder

Builder.load_string('''
<InfoBubble@Bubble>
    # declare our message StringProperty
    message: 'empty message'
    # let the bubble be of 200 device pixels
    # and expand as necessary on the height
    # depending on the message + 20 dp of padding.
    size_hint: None, None
    show_arrow: False
    pos_hint: {'top': 1, 'right': 1}
    size: dp(200), lbl.texture_size[1] + dp(20)
    Label:
        id: lbl
        text: root.message
        # constraint the text to be displayed within
        # the bubble width and have it be unrestricted
        # on the height.
        text_size: root.width - dp(20), None
''')

def bubbprint(self, message):
    message = repr(message)
    if not self.info_bubble:
        self.info_bubble = Factory.InfoBubble()
    self.info_bubble.message = message

    # Check if bubble is not already on screen
    if not self.info_bubble.parent:
        Window.add_widget(self.info_bubble)

    # Remove bubble after 2 secs
    Clock.schedule_once(lambda dt:
        Window.remove_widget(self.info_bubble), 2)
从kivy.core.window导入窗口
从kivy.clock导入时钟
来自kivy工厂进口工厂
从kivy.lang导入生成器
Builder.load_字符串(“”)
#声明我们的消息字符串属性
消息:“空消息”
#让气泡为200个设备像素
#并根据需要在高度上展开
#根据消息+20 dp的填充。
大小提示:无,无
显示箭头:False
位置提示:{'top':1,'right':1}
尺寸:dp(200),磅。纹理尺寸[1]+dp(20)
标签:
id:lbl
文本:root.message
#约束要在中显示的文本
#气泡的宽度和宽度不受限制
#在高处。
文本大小:root.width-dp(20),无
''')
def bubbprint(自我、消息):
message=repr(消息)
如果不是self.info\u气泡:
self.info_bubble=Factory.InfoBubble()
self.info_bubble.message=消息
#检查气泡是否尚未出现在屏幕上
如果不是self.info\u bubble.parent:
添加窗口小部件(self.info\u气泡)
#2秒后去除气泡
时钟。时间表_一次(λdt:
窗口。删除小部件(self.info\u bubble),2)

Kivy启动器忽略
print()
。因此,请改用
logging.info()

在main.py中:

import logging
....
    logging.info('any strings you want to output')

日志文件位于
../kivy/your_app/.kivy/logs/

我试图理解如何使用链接使用adb,但我不理解在连接设备的shell提示符下运行adb shell是什么意思。当我使用usb电缆连接到S3并在adb.exe路径上运行此命令时,我得到以下错误:D:\parth\Programming\Installers\Android\adt-bundle-windows-x86\u 64-20131030\sdk\platform tools>adb.exe shell错误:未找到设备我做错了什么?如何运行设备的shell?我很抱歉问一些基本问题。请在您的设备上启用开发人员选项。然后启用usb调试。然后使用usb电缆将您的设备连接到电脑,然后键入
adb devices
它应该会显示您的设备(手机上可能会出现提示,要求允许电脑连接)。