博客
关于我
android源码环境下编译fourthling.cling库的依赖问题
阅读量:689 次
发布时间:2019-03-16

本文共 1269 字,大约阅读时间需要 4 分钟。

建立从源头开始的解决方案来处理fourthline.cling在Android上的静态库编译问题,可以分为以下步骤:

  • 了解依赖关系并准备knife :首先,确保在Android的源码环境中预制所有必要的JAR文件。编辑LOCAL_STATIC_JAVA_LIBRARIES,确保包含了 BUILD_STATIC_JAVA_LIBRARY 相关的 .mk 文件。例如,在你的项目根目录下找到相应的文件,进行适当的修改。

  • 处理javax依赖问题:Android环境不支持直接使用javax包,因此需要引入cdi-api-2.0的JAR包,这个包包含了如javax.decorator.Decorator等类。确保这个JAR已经添加在LOCAL_STATIC_JAVA_LIBRARIES中,并未被遗漏或权限错误阻止。

  • 修复编译错误:当你在编译fourthling.cling时遇到如“第四ling.cling (java:sdk) 不应链接到cdi-api (java:platform)”的错误,说明SDK接口不能够链接到平台级别的依赖。为了修复这个错误,在Android.mk文件中将 LOCAL_SDK_VERSION := current 替换为 LOCAL_PRIVATE_PLATFORM_APIS := true。这样编译器允许链接到这些私有接口。

  • 处理编译警告:当你看到如“can't find referenced class javax.el.ExpressionFactory”等警告时,首先确认这些警告是否影响程序的正常运行。如果它们不会导致程序崩溃或其他严重问题,可以通过创建proguard.flags文件来过滤这些警告:

    # 在项目根目录下创建proguard.flags-dontnote org.fourthline.cling.*-dontwarn org.eclipse.jetty.jmx.*-dontwarn javax.el.*

    然后在Android.mk文件中添加LOCAL_PROGUARD_FLAG_FILES := proguard.flags,这样ProGuard会忽略这些警告,继续编译。

  • 确保缺失的类不会影响运行:如果这些缺失的类确实会导致程序崩溃或功能缺失,需要额外引入相关的JAR包。例如,添加javax.el.jakarta或其他包含必要类的库,确保所有依赖都已满足。

  • 验证编译环境:在编译fourthline.cling之前,执行以下命令确保环境正确:

    source build/envsetup.sh

    这将设置必要的环境变量,确保后续步骤顺利执行。

  • 在编译时检查日志:编译完成后,仔细检查日志,确保没有遗漏的依赖错误或其他潜在问题。如果发现新的依赖问题,逐步解决,确保所有必要的库都已正确添加和配置。

  • 通过以上步骤,你应该能够解决fourthline.cling在Android编译中的静态库依赖问题。这些方法可以帮助你避开常见的编译错误,并通过合理的配置确保程序的稳定性。

    转载地址:http://bbeqz.baihongyu.com/

    你可能感兴趣的文章
    mysql CPU使用率过高的一次处理经历
    查看>>
    Multisim中555定时器使用技巧
    查看>>
    MySQL CRUD 数据表基础操作实战
    查看>>
    multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
    查看>>
    mysql csv import meets charset
    查看>>
    multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
    查看>>
    MySQL DBA 数据库优化策略
    查看>>
    multi_index_container
    查看>>
    mutiplemap 总结
    查看>>
    MySQL Error Handling in Stored Procedures---转载
    查看>>
    MVC 区域功能
    查看>>
    MySQL FEDERATED 提示
    查看>>
    mysql generic安装_MySQL 5.6 Generic Binary安装与配置_MySQL
    查看>>
    Mysql group by
    查看>>
    MySQL I 有福啦,窗口函数大大提高了取数的效率!
    查看>>
    mysql id自动增长 初始值 Mysql重置auto_increment初始值
    查看>>
    MySQL in 太多过慢的 3 种解决方案
    查看>>
    Mysql Innodb 锁机制
    查看>>
    MySQL InnoDB中意向锁的作用及原理探
    查看>>
    MySQL InnoDB事务隔离级别与锁机制深入解析
    查看>>