V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
msmmbl
V2EX  ›  问与答

求助:安卓 NDK 编译得到的 so 文件,可以用于树莓派不?

  •  
  •   msmmbl · 2015-07-27 12:29:01 +08:00 · 3350 次点击
    这是一个创建于 3168 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在折腾博联的RM pro,由于他只提供了手机端的APP,感觉不是很方便,打算用树莓派控制。目前粗略的分析官方提供的安卓手机端的APK软件,大略的知道他们将与设备通信的那块逻辑,编译到了一个libNetworkAPI.so文件中,我对这块不是很了解,对于我来说我觉得有这么几条路:
    1. 手机是arm处理器,树莓派也是arm处理器,那么,是否可以在树莓派上直接引用这个libNetworkAPI.so运行。我对安卓理解不深,不确定这条路是否可行。
    2. 如果1不可行,那我就搞一块支持android的开源硬件,比如pcDuino。
    3. 或者有其他通信协议公开的开源硬件,支持红外,315MHz、433MHz的那种。
    4. 或者自己搭硬件,红外模块、315模块、433模块都是可以在某宝买到的,不过软件那部分就得自己写了。
    大家对此有什么建议不?

    7 条回复    2016-08-31 09:18:46 +08:00
    ufo22940268
        1
    ufo22940268  
       2015-07-27 12:57:29 +08:00
    自己写一个jni应用,然后引用libNetworkAPI.so这个library,然后写好之后在编译的时候通过在Android.mk里面把target指定为arm(还支持armv7, 不行的话就试试这个),然后编译之后就可以去运行试试了。

    我没有树莓派,上面是我的一些想法
    linhua
        2
    linhua  
       2015-07-27 13:31:17 +08:00
    1.手机APP只是和它的那个“座机”通信的,“座机”再和那些遥控设备进行通信,并不能直接摇控设备。
    2.所以要明确,树莓派是要实现“座机”的功能,还是手机APP的功能
    3.libNetworkAPI.so是linux/android下的动态链接库文件,如果想要在c/c++程序里引用,需要其对应的头文件(.h文件),知道其里面函数的功能
    4.android是开源的,树莓派也可以装android
    5.红外模块、315模块、433模块是“座机”需要具备的,而手机端只需要具有wifi模块即可。
    msmmbl
        3
    msmmbl  
    OP
       2015-07-27 13:38:49 +08:00
    @ufo22940268 多谢。下班了回去试试。
    msmmbl
        4
    msmmbl  
    OP
       2015-07-27 13:45:51 +08:00
    @linhua
    谢谢您的建议。
    “2.所以要明确,树莓派是要实现“座机”的功能,还是手机APP的功能”
    树莓派是想实现手机的APP功能。
    “3.libNetworkAPI.so是linux/android下的动态链接库文件,如果想要在c/c++程序里引用,需要其对应的头文件(.h文件),知道其里面函数的功能 ”
    因为我反编译了APK,从编译出来的java里知道libNetworkAPI.so里面的所有函数,因此理论上我可以还原出头文件。

    所以,我不确认的是,libNetworkAPI.so是否可以在RASPBIAN中能够被引用运行。因此,如果证实libNetworkAPI.so不能再RASPBIAN中运行,我会试试将树莓派上安装安卓系统,或者自己用红外模块、315模块、433模块搭建自己的“座机”。
    Yian
        5
    Yian  
       2016-08-28 19:56:00 +08:00
    @msmmbl 请问题主最后解决了这个问题没有?是怎么解决的?我最近想把校园网手机客户端里的一个 .so 弄到树莓派上去用,可是用 ldd 去查看那个 .so 文件的时候却发现好像没法在树莓派上跑...
    dommyet
        6
    dommyet  
       2016-08-30 23:22:04 +08:00
    @Yian 活捉
    msmmbl
        7
    msmmbl  
    OP
       2016-08-31 09:18:46 +08:00 via Android
    @Yian 没有解决。最后我找官方编译了一份树莓派的 sdk
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2804 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:32 · PVG 21:32 · LAX 06:32 · JFK 09:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.