目前遇到的问题是我们使用ant生成的构建版本不包含R.class文件.看一下ADT build.xml,我看到了这个:

...

includes="**/*.class"

excludes="${project.app.package.path}/R.class ${project.app.package.path}/R$*.class ${project.app.package.path}/BuildConfig.class"/>

excludes="**/*.java ${android.package.excludes}" />

目前构建抓取classes.jar文件,但正如您在上面看到的,这不包括R.class文件,因此当库尝试获取外部化字符串时,它会在NoClassDefFoundError上爆炸

Important change:

We have changed the way Library Projects generate and package R classes:

The R class is not packaged in the jar output of Library Projects anymore.

Library Project do not generate the R class for Library Projects they depend on. Only main application projects generates the Library R classes alongside their own.

This means that library projects cannot import the R class from another library project they depend on. This is not necessary anyway, as their own R class includes all the necessary resources.

Note that app projects can still import the R classes from referenced Library Projects, but again, this is not needed as their own R classes include all the resources.

那么,鉴于此,打包Android库项目的正确方法是什么?

更新2:

因此,我们通过手动将R.class和R $* .class文件打包到jar中来解决此问题.

我不知道这是否是打包Android库的“正确”方式,因为ADT构建脚本将这些删除.如果没有人建议采用更“正确”的方式来做到这一点,我会将此作为答案.

android 引用jar的r文件,正确的方法来处理Android库的ant构建. Build从jar文件中排除R.class...相关推荐

  1. android 文件加密解决方法,如何在Android中加密和解密文件?

    我有类似的问题,加密/解密我提出了这个解决方案: public static byte[] generateKey(String password) throws Exception { byte[] ...

  2. Android编译调用FFmpeg API,自己写方法,编译so库

    作者:谭东 时间:2017年9月19日 环境:Windows 8.1专业版 NDK版本:android-ndk-r14b FFmpeg版本:FFmpeg 3.0.2 "Einstein&qu ...

  3. java对.txt文件进行读取方法实战---室友是网络安全方向,帮他提取文件里的特定ip

    需求:类似如下的txt文件,现在需要把每一小段包含open的ip地址输出,这样他就可以去攻击有用ip了,这孩子真坏,哈哈. Nmap scan report for 123.59.68.48 Host ...

  4. Android开发之Android Studio依赖aar包的四种方法(附加第三方库依赖方式)

    使用AS任意版本: 方法一: repositories {flatDir {dirs 'libs'}} implementation (name: 'paylibrary_v1.0', ext: 'a ...

  5. android+对比标签选择顺序是否正确的是,2019年Android题库含答案.docx

    1.在android程序中,Log.w()用于输出什么级别的日志信息?( C ) A.调试 B.信息 C.警告 D.错误 2.在Activity中需要找到一个id是bookName的的TextView ...

  6. android 文件加密解决方法,一种Android平台的文件快速加密以及解密方法与流程

    本发明属于数据安全领域,具体涉及一种Android平台的文件快速加密以及解密方法. 背景技术: 目前移动办公系统极大地提升了企.事业单位的工作效率,而带装有办公应用的智能设备中会存储一些较高机密性的文 ...

  7. android 盒子 关闭电视,电视盒子正确使用方法,速速来取!

    很多人可能不了解,家庭标配的电视盒子如果被错误使用,会导致其无法发挥最大作用.今天,小智就跟大家聊聊如何正确使用电视盒子,记住以下几点,你的电视盒子寿命才会有保证. 一.保持干燥环境,远离水源 如果电 ...

  8. if函数中的android,java - 我需要帮助将IF语句方法更改为Android Studio中的SWITCH情况 - 堆栈内存溢出...

    我正在Android Studio上的一个项目上工作,并且正在尝试创建过滤器. 我向其中添加了一些Checkboxes ,我想用它过滤我的RecyclerView . 使用IF语句,我可以做到,但是据 ...

  9. android端口数据包,【图片】android抓包工具fiddler抓包使用方法 跟踪监控android数据包【中国红客联盟吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 md D:\Android_kitchen_v223_CN\home\kitchen\WORKING_mk\data\app >nul 2>这 ...

最新文章

  1. Android 编译报错:Could not get resource
  2. 怎样知道邮箱的端口_AllenNLP源码拓展——训练结束向邮箱发邮件
  3. 【中级软考】什么是“敏捷过程的开发方法(敏捷方法agile)“(极限编程XP、特征驱动开发FDD、并列争球法Scrum、水晶法Crystal、开放源码法、自适应软件开发 ASD方法)
  4. 企业应用人工智能面临的挑战
  5. /hgfs下无共享文件夹?/mnt下没有hgfs文件夹?vmhgfs-fuse:找不到命令?
  6. Flume整合SparkStreaming出现UnsupportedClassVersionError: org/apache/spark/streaming/flume/sink/SparkFlum
  7. vue mysql webapp_基于Laravel+VueJS实战开发WebAPP
  8. 为什么要用python不用origin_Python告诉你为什么百度已死
  9. 智能网联汽车云控系统第2部分:车云数据交互规范
  10. 创建AWS VPC Peering
  11. requested an insecure resource的解决方法
  12. 检查压缩包是否损坏_【安全知识】运动安全带检查PPE(个人防护装备)检查程序与表格...
  13. Misc 自动拼图 CTF
  14. 小新pro16独显版安装NVIDIA驱动
  15. python实现将深度学习应用于医学图像以辅助医疗
  16. [paper]Intriguing properties of neural networks(L-BFGS)
  17. ClickHouse函数操作大全
  18. C# winform抽拉式菜单栏设计的一种方法
  19. WordPress优化教程大全
  20. C语言free空空指针,dmc: Dynamic Memory Check (DMC) , 解决C语言空指针、悬空指针、越界访问、野指针问题的一个方案。...

热门文章

  1. 有助于建立使用者对套件的信任 GitHub释出管理服务
  2. 详解如何进行第三方App接入微信登录
  3. 针对各组项目的改进意见
  4. 无根树转有根树的一般方法
  5. hdu4280(最大流)
  6. windows和linux-JDK环境变量设置
  7. VIJOS-P1192
  8. 数据库查询语言SQL概念
  9. GOS系列之删除附件
  10. sap Status状态栏设计