【发布时间】:2011-10-30 12:29:50
【问题描述】:
我已按照页面说明在 Ubuntu 机器上成功构建了 VLC for Android: http://wiki.videolan.org/AndroidCompile
PS:我设置了“export NO_NEON=1”
环境:Ubuntu 11.10 32 位、Java JDK 6u29 32 位、Android SDK R14、Android NDK R6B
但是当我尝试在模拟器上运行“VLC-debug.apk”或“VLC-debug-unaligned.apk”时, (我试过 Andorid 2.2 和 Android 2.3.3) 程序在我运行后立即退出。
然后,我尝试在真机上运行它们(HTC Wildfire,Android 2.2) 结果是一样的。 (并显示应用程序错误弹出窗口)
我使用 Eclipse 的 DDMS LogCat 来检查是否有任何奇怪的消息;我发现:
10-25 15:16:27.007:I/ActivityManager(70):开始活动:Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.videolan.vlc.android/.MainActivity } 10-25 15:16:27.067:I/ActivityManager(70):启动过程 org.videolan.vlc.android 用于活动 org.videolan.vlc.android/.MainActivity:pid=3918 uid=10036 gids={3003} 10-25 15:16:27.807: D/dalvikvm(3918): GC_EXTERNAL_ALLOC 释放 874 对象 / 59912 字节在 141ms 10-25 15:16:28.097: D/dalvikvm(3918): 尝试加载库 /data/data/org.videolan.vlc.android/lib/libvlcjni.so 0x44f3eb48 10-25 15:16:28.167:D/dalvikvm(3918):添加了共享库 /data/data/org.videolan.vlc.android/lib/libvlcjni.so 0x44f3eb48 10-25 15:16:28.167:V/VLC/LibVLC(3918):初始化 LibVLC 10-25 15:16:28.402: I/DEBUG(30): * ** * ** * ** * ** * ** * 10-25 15:16:28.402:I/DEBUG(30):构建指纹:'generic/sdk /generic/:2.2/FRF91/43546:eng/test-keys' 10-25 15:16:28.402: I/DEBUG(30): pid: 3918, tid: 3918 >>> org.videolan.vlc.android
00 pc 8236c06c /data/data/org.videolan.vlc.android/lib/libvlcjni.so 10-25 15:16:28.477: I/DEBUG(30): #01 lr 00000040 10-25
15:16:28.477: I/DEBUG(30): pc 周围的代码: 10-25 15:16:28.477: I/DEBUG(30):8236c04c e1a00005 e1a01007 ebfffcf5 e2504000 10-25 15:16:28.477:I/DEBUG(30):8236c05c 0a00004f e35a0000 1a000025 e5943018 10-25 15:16:28.477: I/DEBUG(30): 8236c06c e6ef0073 e3500010 0a000031 e1a00005 10-25 15:16:28.477: I/DEBUG(30): 8236c07c e28da038 e1a01004 ebfffed4 e1a0000a 10-25 15:16:28.477: I/DEBUG(30): 8236c08c e5941014 e1a0e00f e591f004 e1c420d8 10-25 15:16:28.477: I/DEBUG(30): lr 周围的代码:10-25 15:16:28.477: I/DEBUG(30): 00000020 ffffffff ffffffff ffffffff ffffffff 10-25 15:16:28.477: I/DEBUG(30): 00000030 ffffffff ffffffff ffffffff ffffffff 10-25 15:16:28.477: I/DEBUG(30): 00000040 ffffffff ffffffff ffffffff ffffffff 10-25 15:16:28.477: I/DEBUG(30): 00000050 ffffffff ffffffff ffffffff ffffffff 10-25 15:16:28.477:I/DEBUG(30):00000060 ffffffff ffffffff ffffffff ffffffff 10-25 15:16:28.477: I/DEBUG(30): 堆栈: 10-25 15:16:28.477: I/DEBUG(30): bebfa230 0027f3a4 [堆] 10-25 15:16:28.477: I/DEBUG(30): bebfa234 8236bb94 /data/data/org.videolan.vlc.android/lib/libvlcjni.so ..................................................... ......................................................... 10-25 15:16:28.917: D/Zygote(32): 进程 3918 被信号终止 (4) 10-25 15:16:28.917: I/ActivityManager(70): 进程 org.videolan.vlc.android (pid 3918) 已经死了。 10-25 15:16:28.927: I/UsageStats(70):com.android.launcher 意外恢复,而 已经在 org.videolan.vlc.android 中恢复
似乎无法加载主库“libvlcjni.so”;出现“SIGILL”错误!
我的.so文件包含机器码可能是低级错误,无法在模拟器和手机的CPU上运行。
我是否必须更改构建/编译的任何设置? 请帮助我,谢谢:)
【问题讨论】:
标签: android android-emulator android-ndk vlc libvlc