Buildozer 打包了一个 .apk,但它不运行

Posted

技术标签:

【中文标题】Buildozer 打包了一个 .apk,但它不运行【英文标题】:Buildozer packs an .apk, but it doesn't run 【发布时间】:2014-10-17 03:21:55 【问题描述】:

我在 VirtualBox 上使用 Ubuntu 64 14.04,我已经使用 Buildozer 成功制作了 .apk 文件,但是当我在 android SDK 模拟器(在 Windows 上运行)上启动它时,它会在顶部显示带有标题的黑屏几秒钟然后退出。 (对了,什么模拟器比较好?这个太慢了。)怎么看原因?

更新:

当我在 Ubuntu 上运行 buildozer android run 时,它会说:

# Application pushed.
# Application started.

然后什么也没有发生。我没有 Android 设备,我不知道,模拟器应该在这种情况下运行。我在Windows上单独运行模拟器,所以这里我不明白如何使用logcat。

更新:

这是我运行应用程序时日志的一部分。

I/ActivityManager(   65): Starting: Intent  act=android.intent.action.MAIN cat=
[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.test.mathcore/org.renp
y.android.PythonActivity  from pid 137
I/ActivityManager(   65): Start proc org.test.mathcore:python for activity org.t
est.mathcore/org.renpy.android.PythonActivity: pid=295 uid=10034 gids=1015
I/dalvikvm(   65): Jit: resizing JitTable from 512 to 1024
W/ResourceType(  295): No package identifier when getting value for resource num
ber 0x00000000
V/python  (  295): metadata fullscreen is1
I/SDLSurface(  295): Surface will NOT be transparent
V/Python  (  295): Extracting private assets.
I/python  (  295): extracting libpymodules.so
D/libEGL  (  295): egl.cfg not found, using default config
I/ActivityManager(   65): Displayed org.test.mathcore/org.renpy.android.PythonAc
tivity: +4s216ms
D/libEGL  (  295): loaded /system/lib/egl/libGLES_android.so
I/SDLSurface(  295): Choose egl configuration
I/SDLSurface(  295): Try to use graphics config R8G8B8A8S8
I/SDLSurface(  295): Try to use graphics config R5G6B5S8
E/SDLSurface(  295): Unable to find a correct surface for this device !
I/ARMAssembler(   65): generated scanline__00000177:03515104_00001002_00000000 [
 87 ipp] (110 ins) at [0x4737b520:0x4737b6d8] in 1044006 ns
E/JavaBinder(  295): Unknown binder error code. 0xfffffff7
E/JavaBinder(  295): Unknown binder error code. 0xfffffff7
I/WindowManager(   65): WIN DEATH: Window40801d10 org.test.mathcore/org.renpy.a
ndroid.PythonActivity paused=false
I/ActivityManager(   65): Process org.test.mathcore:python (pid 295) has died.
I/WindowManager(   65): WIN DEATH: Window40802e28 SurfaceView paused=false
W/InputManagerService(   65): Got RemoteException sending setActive(false) notif
ication to pid 295 uid 10034
W/InputManagerService(   65): Window already focused, ignoring focus gain of: co
m.android.internal.view.IInputMethodClient$Stub$Proxy@40806910
D/dalvikvm(  137): GC_EXTERNAL_ALLOC freed 79K, 51% free 2945K/5959K, external 1
1042K/12993K, paused 127ms

更新:

Full log.

【问题讨论】:

查看可以使用的日志developer.android.com/tools/help/logcat.html +1 用于使用 logcat,它将在您的标准输出中显示错误(通常是正常的 python 回溯)。对于模拟器,大多数情况下我们直接在设备上进行测试,因为它非常简单 - 只需将其插入并在 buildozer 命令中添加“部署”即可。 不幸的是,这是日志中相对无趣的部分。 @Henry,我已经添加了完整的日志。 【参考方案1】:

我没有使用模拟器,但你可以这样做: 首先在你的安卓手机上激活 USB 调试。 然后将其连接到 pc/laptop 并在终端中运行以下命令:

buildozer android debug deploy run

那么该应用应该会出现在您的手机屏幕上...

【讨论】:

我说我没有安卓设备。 调试模式是帮助我的提示

以上是关于Buildozer 打包了一个 .apk,但它不运行的主要内容,如果未能解决你的问题,请参考以下文章

《Buildozer打包实战指南》第四节 正式打包一个apk文件

《Buildozer打包实战指南》第四节 正式打包一个apk文件

Buildozer 编译 apk,但它在 android 上崩溃

《Buildozer打包实战指南》实战打包requests

《Buildozer打包实战指南》实战打包pillow

《Buildozer打包实战指南》实战打包pillow