Android 添加库文件
(转:原文链接:http://blog.csdn.net/ccskyer/archive/2010/06/18/5677553.aspx) 在Android中添加自己的库文件,在编译时会提示:library 'XXX.so' not in prelink map 错误,
其中一个很重要的文件在build/core/prelink-linux-arm.map,但不是很了解,下面是转别人的文章,自己慢慢吸收:
变量设置为false那么将不做prelink操作 LOCAL_PRELINK_MODULE := false(可以直接在Android.mk中设置) 默认是需要prlink 的,同时需要在 build/core/prelink-linux-arm.map 中加入 libhellod.so 0x96000000(注意地址修改,避免ram的冲突) 这 个map文件好像是制定动态库的地址的,在前面注释上面有一些地址范围的信息,注意库与库之间的间隔数, 如果指定不好的话编译的时候会提示说地址 空间冲突的问题。另外,注意排序,这里要把数大的放到前面去, 按照大小降序排序。 解析 LOCAL_PRELINK_MODULE 变量 build/core/dynamic_binary.mk:94:ifeq ($(LOCAL_PRELINK_MODULE),true) ifeq ($(LOCAL_PRELINK_MODULE),true) $(prelink_output): $(prelink_input) $(TARGET_PRELINKER_MAP) $(APRIORI) $(transform-to-prelinked) transform-to-prelinked定义: ./build/core/definitions.mk:1002:define transform-to-prelinked define transform-to-prelinked @mkdir -p $(dir $@) @echo "target Prelink: $(PRIVATE_MODULE) ($@)" $(hide) $(APRIORI) \ --prelinkmap $(TARGET_PRELINKER_MAP) \ --locals-only \ --quiet \ $/build/tools/apriori” 参 考文档: 动态库优化——Prelink(预连接)技术 http://www.eefocus.com/article/09-04/71629s.html
———————————————————————————————————— 动态库需要指定Map 信息,需要修改build/core/prelink-linux-arm.map 中 的信息。这个map 文件好像是制定动态库的地址的,在前面注释上面有一些地址范围的信息,注意库 与库之间的间隔数,如果指定不好的话编译的时候会提示说地址空间冲突的问题。另外,注意排序,这里要把数大的放到前面去,按照大小降序排序。
note:
注意地址的修改。

更多相关文章

  1. Android编译环境
  2. Fedora 15下使用android ndk 编译ffmepg0.8.4
  3. android 学习笔记1
  4. Android处理9.png文件流程
  5. Android的多媒体框架OpenCore(PacketVideo)介绍
  6. Cordova 3.x 基础(13) -- 为Android(安卓)APK签名
  7. Android更新ADT到R17以后,不能用第三方jar包了
  8. 在android真机上使用sqlite3
  9. Attribute is missing the Android(安卓)namespace prefix——an

随机推荐

  1. android api
  2. 在android应用市场中直接定位到自己的应
  3. Android 去除头部标题栏
  4. Android -- Context(Application的应用)
  5. Android中启动Activity(startActivity)流
  6. Android 调试桥 ADB命令
  7. android wear-Drawing Watch Faces
  8. Free Android UI library & component ro
  9. [转]android颜色对应的xml配置值
  10. Android SDK r23