• armeabi和armeabi-v7a引起的问题


      android的根目录下有个libs文件夹,此文件加包含了armeabi和armeabi-v7a(或者只有其中一个)。

    我们的c代码编译成的本地库(各种.so)就会放在这两个文件夹其中的一个。那armeabi-v7a 与 armeabi有什么区别,都是什么意思呢?

        armeabi和armeabi-v7a是表示cpu的类型,我们知道一般的手机或平板都是用arm的cpu(mips的就悲催的被忽视了),不同的cpu的特性不一样,armeabi就是针对普通的或旧的arm cpu,armeabi-v7a是针对有浮点运算或高级扩展功能的arm cpu。

          在android.mk里可配置以下宏:

    TARGET_CPU_API := armeabi

    APP_ABI := armeabi

      当你编译时出现一些链接动态库的undefine错误,或你的apk运行时出现装载.so动态库错误时,不妨看一下这个cpu类型的配置是否有误。

      但是有时候你的主程序中只有armeabi或者armeabi-v7a,而你引用的library 工程里面这两个(armeabi和armeabi-v7a)都有。这时你在运行你的程序就会出现问题:找不到.so文件了。

      解决办法:在你的主程序libs下面把这两个文件夹都建立(已有的就不要建了),把里面的.so文件拷贝一份到新建立的文件夹中,这样就ok了。

  • 相关阅读:
    BZOJ3575 [Hnoi2014]道路堵塞
    BZOJ4456/UOJ184 [Zjoi2016]旅行者
    BZOJ4455/UOJ185 [Zjoi2016]小星星
    BZOJ1036 [ZJOI2008]树的统计Count
    BZOJ2594 [Wc2006]水管局长数据加强版
    BZOJ3669/UOJ3 魔法森林(LCT)
    BZOJ1012:[JSOI2008]最大数
    洛谷【P1175】表达式的转换
    HDU4699:Editor
    BZOJ3039:玉蟾宫
  • 原文地址:https://www.cnblogs.com/WoodyWpck/p/3272884.html
Copyright © 2020-2023  润新知