
1 VYSE Nov 18, 2016 via Android 你得加安卓的 linker ,依赖库如 bionic 甚至 framework |
2 soulshell Nov 18, 2016 缺少很多必要的概念 so 文件是二进制文件,编译后和体系架构相关的,不同的体系架构下要有对应的 so 文件,用 file 或者 readelf 看下就知道了,你在 x86 上调试 android 的代码,最典型的的做法是 google 帮你做了 studio 里面用的 qemu ,将 x86 的汇编转换成 arm 的汇编进行执行的 qemu 使用了 qemu 的 binary translation 的机制导致你在 x86 上运行 arm 的的代码会很慢,现在看起来你是想在 x86 上直接运行针对 x86 的 android app ,也可以,但是因为指令差别,只能在 x86 的手机上跑,无法测试覆盖到 arm 架构的手机 再往上就是 java 里面的 jni 调用,使用 so 库里面的 c 或者 cpp 的 api ,但是执行 java 的环境是根据 android 里面环境构建的 jvm , bonic 这些,所以你需要把这个 runtime 做一些调整 从下到上,就是这样一个过程 也可以不买手机,你说的那个需求现在也是一门生意,有很多人在做云端的测试平台,可以到 AWS 上找一下 test farm ,可以满足你的需求 |
3 q397064399 Nov 18, 2016 尽量能 Java 解决的就 Java 吧,讲真原生的跨平台兼容性太差了 |
4 pangliang Nov 18, 2016 "那个 so 文件是优酷 sdk 里的" "网上找了个支持 x86 的优酷应用,解压将里面的 x86 目录复制过来" 所以你现在用的 so 到底是哪个? 讲道理 sdk 里有就用 sdk 的啊 |
5 garth OP @pangliang sdk 里没有 x86 目录,所以一开始是找不到 so 文件问题,后来,我先是把 sdk 里 armeabi-v7a 复制重命名为 x86 ,就出现了此问题,然后用了支持 x86 的优酷应用里的 so 文件还是一样的问题。 |
6 pagxir Nov 18, 2016 via Android 直接不支持 x86 就 ok 了。 youku 官方都不支持,啥折腾是无用功 |
7 pubby Nov 18, 2016 via Android x86 手机很多吗? |
8 reus Nov 18, 2016 那些 x86 cpu 的安卓系统,其实是 cpu 支持指令集转换,用的还是 arm 的 apk 啊 |