当前位置: 首页 > 知识库问答 >
问题:

Kivy相机代码不能在android设备上运行

洪梓
2023-03-14

我在OS X(10.10.1)上使用Kivy和buildozer,但我无法在我的android设备上运行Kivy相机应用程序。不使用相机的情况很好。代码如下,我还可以发布buildozer规范文件和调试信息。任何帮助都很感激。

从kivy.App导入应用程序从kivy.uix.Widget导入小部件从kivy.uix.Camera导入相机从kivy.uix.Button导入按钮从kivy.core.Window导入窗口

类MyApp(App):def doscreenshot(self,*largs):window.Screenshot(name='Screenshot%(counter)04d.jpg')

def build(self):
    camwidget = Widget()  #Create a camera Widget
    cam = Camera()        #Get the camera
    cam=Camera(resolution=(640,480), size=(500,500))
    cam.play=True         #Start the camera
    camwidget.add_widget(cam)                
    return camwidget
          if __name__ == '__main__':
MyApp().run()

-设置-模式-检查:

-设置-调试-文件:

-check-env:[checkenv]Android SDK工具修订版24.0.2[checkenv]安装在/users/vbafna/library/Android/SDK

-setup:[echo]项目名称:mydemoapplication-0.1[gettype]项目类型:Application

-设置-调试-模式:

-调试-混淆-检查:

-预构建:

-build-setup:[getbuildtools]使用最新的构建工具:21.1.2[echo]解析MyDemoApplication-0.1...[gettarget]项目目标:Android 5.0.1[gettarget]API级别:
21[echo]-------[echo]如果需要创建输出目录...[echo]-------[echo]解析MyDemoApplication-0.1...[依赖项]库依赖项:[依赖项]没有库[依赖项][依赖项]-----------[echo]----[echo]用“debug”生成库...[subant]没有要迭代的子构建

-code-gen:[mergemanifest]发现修改的输入文件[mergemanifest]正在将AndroidManifest文件合并为一个文件。[mergemanifest]清单合并已禁用。仅使用项目清单。[echo]正在处理aidl文件...[aidl]找到1个aidl文件。[aidl]没有要编译的aidl文件。[echo]------[echo]处理RenderScript文件...[echo]------[echo]处理资源...[aapt]发现修改后的输入文件[aapt]正在生成资源ID...[echo]------[echo]处理BuildConfig类...[buildconfig]不需要生成新的buildconfig。

-预编译

-compile:[javac]将3个源文件编译为/users/vbafna/projects/kivyprojects/test2/.buildozer/android/platform/python-for-android/dist/mycameraapp/bin/classes[javac]注意:/users/vbafna/projects/kivyprojects/test2/.buildozer/android/dist/mycameraapp/src/org/renpy/android/audio.java使用或重写了一个不推荐的API。[javac]注意:详细信息请使用-xlint:deprecation重新编译。

-编译后:

-混淆:

-dex:[dex]输入:/users/vbafna/projects/kivyprojects/test2/.buildozer/android/platform/python-for-android/dist/mycameraapp/bin/classes[dex]找到修改过的输入文件[dex]将编译后的文件和外部库转换成/users/vbafna/projects/kivyprojects/test2/.buildozer/android/dist/mycameraapp/bin/classes.dex...

-crunch:[crunch]将源文件目录:/users/vbafna/projects/kivyprojects/test2/.buildozer/android/platform/python-for-android/dist/mycameraapp/res[crunch]到目标目录:/users/vbafna/python/kivcameraapp/test2/.buildozer/android/dist/mycameraapp/res[crunch]处理图像到缓存:/users/vbafna/project/kivcameraapp/test2/drawable/icon.PNG=>/users/vbafna/projects/kivyprojects/test2/.buildozer/android/platform/python-for-android/dist/mycameraapp/bin/res/drawable/icon.PNG[crunch](已处理的图像到缓存项/users/vbafna/pyvcameraapp/test2/test2/.buildozer/android/dist/mycameraapp/bin/res/drawable/icon.PNG:49%源大小)test2/.buildozer/android/platform/python-for-android/dist/mycameraapp/res/drawable/icon.PNG:libpng warninG:ICCP:不识别已编辑的已知sRGB配置文件

-包-资源:[aapt]发现修改的输入文件[aapt]正在创建完整的资源包...

-package:[apkbuilder]发现修改后的输入文件[apkbuilder]正在创建mydemoapplication-0.1-debug-unaligned.apk,并用调试密钥对其进行签名...

-邮包:

-do-debug:[zipalign]在最后一个apk上运行zip align...[echo]调试包:/users/vbafna/projects/kivyprojects/test2/.buildozer/android/platform/python-for-android/dist/mycameraapp/bin/mydemoapplication-0.1-Debug.apk[propertyfile]更新属性文件:cameraapp/bin/build.prop[propertyfile]更新属性文件:/users/vbafna/projects/kivyprojects/test2/.buildozer/android/dist/mycameraapp/bin/build.prop更新属性文件:/users/vbafna/projid/dit/mycameraapp/bin/build.prop

-建造后:

调试:

成功构建总时间:4秒S/vbafna/projects/kivyprojects/test2/.buildozer/android/app/data/screens/dropdown.kv assets/private.mp3://users/vbafna/projects/kivprojects/test2/.buildozer/android/app/data/screens/filechoosers.kv assets/private.mp3://users/vbafna/private.mp3://buildozer/vbafna/progressbar.kv assets/private.mp3://users/vbafna/projects/kivyprojects/test2/.buildozer/android/app/data/screens/rstdocument.kv assets/private.mp3://users/vbafna/projects/kivyprojects/test2/.buildozer/Android/app/data/screens/sliders.kv assets/private.mp3://users/vbafna/projects/kivyprojects/test2/.buildozer/Android/app/data/screens/spinner.kv assets/private.mp3://users/vbafna/projects/kivyprojects/test2/.buildozer/Android/app/data/screens/splitter.kv.buildozer/Android/app/data/screens/textinputs.kv assets/private.mp3://users/vbafna/projects/kivyprojects/test2/.buildozer/Android/app/data/screens/togglebutton.kv assets/private.mp3://users/vbafna/projects/kivyprojects/test2/.buildozer/vbafna/projects/kivyproject/test2/.m#APK mydemoapplication-0.1-debug.APK可在bin目录中找到m#搜索Git(Git)m#->在/opt/local/bin/Git m#搜索Cython(Cython)m#->在/anaconda/bin/Cython m#搜索Java编译器(javac)m#->在/system/libraries/framework/framework/a/commands/javav.framework/versions/a/commands/javav.framework/versions/commands/keytool m#附上

共有1个答案

於德馨
2023-03-14

camera小部件不能在Android上工作,只能在桌面上工作。你可以通过plyer访问Android相机来拍照,或者使用自定义解决方案来显示相机预览。

 类似资料:
  • 我试图建立一个VPN客户端移动基于Android的应用程序,连接到虚拟架构体系的VPN隧道。我有一个类似的Linux /Windows的应用程序,我知道如何打开一个屯/水龙头设备(打开 /dev/net/tun)。我们如何使用C为Android做同样的事情? 还有,android中的VPN类服务是什么。net API到底做什么?

  • 今天早上在wards上,我面临一个react原生android构建的问题。代码中的新更改不反映在设备上。没有生成失败。我试了以下几种 已删除并重新安装节点模块 反应-本机链接 ./gradlew clean 反应-本机包--平台android--开发人员false--条目-文件index.js--bundle-输出android/app/src/main/assets/index.android.

  • 我是Appium自动化的新手。我试图在android设备屏幕上执行刷卡,下面的代码不起作用 或者 抛出一个错误 如果有任何可供选择的刷卡,请提供链接。 提前谢谢。

  • 我想在Android设备上运行一些需要根权限的命令。这些命令应该使用java代码执行,因此应用程序本身应该能够运行这些命令,而不需要将设备连接到个人电脑并使用shell运行这些命令。 我使用了,然后使用了我想要运行的命令(chmod 666)。chmod666需要一个根设备才能正常运行,因此我尝试先使用获得超级用户权限,然后尝试运行它。我将java代码放在onCreate方法中。这是我的密码: 但

  • 我的iMac上有一个完整的react本机环境,当我运行react本机运行ios时,项目完全运行,但当我使用android执行此操作时,它不工作,metro bundler窗口打开但不工作,并且不显示任何消息。 我必须做什么? 运行“react native run android”后我的终端 运行Android系统后,我的终端的打印屏幕,以及在它下面的metro捆绑包

  • 我正在尝试为Android制作一个可以检测附近智能手机设备的应用程序。我需要发现智能手机设备,无论它们连接到WLAN或其操作系统。唯一的要求是启用了它们的蓝牙或wifi设置。我正在尝试捕获这些设备的MAC地址,也许还有RSSI。我试图模拟的一个应用程序示例是Meshlium。 Android经典蓝牙: 我已按照指南发现当前未与我的设备配对的设备。 我试图发现的智能手机需要处于“发现”模式才能被发现