Android 自定义类库打包jar! 谁说不可以打包res 文件?

2023-05-16

我们经常会有这种需求, 自己开发一个类库jar包, 提供给别人调用。

网上很多教程都是这么说:

创建一个Android project, 用eclipse 的export 导出, 去掉AndroidManifest.xml, res 什么的, 全都不是正解!

http://www.cyqdata.com/android/article-detail-37285

用这种方法总会有这样那样的问题。

还有这么说,

android jar包是不能导出resource文件的,确实需要的话, 只能放在assert目录下面, 用AssertManager来访问。

但是你也知道,android.jar 本身就有res啊, 为什么人家可以?

看了官方文档, 我们才知道,不是不可以,是用的方法不对。下面来看看正确的做法是怎么样的。

1.创建一个正常的Android project.

2. 写好你要的代码,res文件(layout, drawable都可以)

3.如果有 Activity, Service, Broadcast Receiver什么的要提供给人家用, 要在AndroidManifest.xml 声明。

4. 关键的来了:在项目属性properties -> Android-> Is Library 勾上!

5. 要引用这个项目时,应该在你的项目project 的properties-》android里library 点击Add, 记住, 不是什么Build path!

6.也许你要问, 我要导出jar 怎么办? 简单啊, 当你保存或者Build 你的项目时, 人家已经帮你生成jar了,就在bin目录下面!

That is all!

最后我想说, 什么教程都是浮云, 最终还是要以官方文档为准:

http://developer.android.com/guide/developing/projects/projects-eclipse.html#ReferencingLibraryProject

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 自定义类库打包jar! 谁说不可以打包res 文件? 的相关文章

  • Android TCP Server 仅在客户端关闭后显示来自 Python 客户端的消息

    我正在使用一些示例代码 它允许我从 Python 客户端向 Android 服务器 TCP 发送消息 但该消息仅在客户端关闭后才会显示在 Android 模拟器上 我可能缺少 tcp 套接字背后的一些基本理解 第一次使用和实现 我的主要目的
  • 方法调用 mActionBar=getActionBar() 给出错误[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用支持库android support v7 app actionbar因为我想要操作栏API 级别 8以上 但是下面的句子给了我
  • Cordova 插件包括 Android 库 (Gradle)

    我想包括这个 Androidlibrary https github com 50ButtonsEach fliclib android在 Cordova 插件中 该库本身由 Gradle 管理 如 Github 链接所示 图书馆的开发者只
  • 如何随着 ViewPager 位置偏移量的变化对视图进行动画处理

    我们希望创建一个带有动画的应用程序介绍 用户可以在其中滚动页面 并且当用户滚动时 视图会动画化并遍历所有幻灯片 动画视图应该随着用户滚动而移动 因此如果用户滚动得更快 动画视图应该移动得更快 如果用户滚动回到上一页 动画视图应该向后移动 这
  • React Native 检查平板电脑或屏幕是否以英寸为单位

    我为平板电脑和移动设备建立了不同的渲染逻辑 我想知道是否有办法获取屏幕尺寸 以英寸为单位 或者甚至可能是任何模块自动检测设备是否是平板电脑 我没有直接使用尺寸 API 来获取屏幕分辨率的原因是 许多 Android 平板电脑的分辨率低于许多
  • 为 DownloadManager 的 BroadcastReceiver 设置附加功能 [重复]

    这个问题在这里已经有答案了 有一种方法可以添加额外内容DownloadManager已登记行动意图DownloadManager ACTION DOWNLOAD COMPLETE 例如 接收一个在意图中设置为额外的布尔值 这就是我创建请求的
  • Android:是否有一种简单的方法可以为视图创建圆角,而不必每次都创建单独的可绘制对象?

    我在互联网上浏览了各种解决方案 这些解决方案使我们能够创建带有圆角的视图 其中大多数需要使用创建自定义视图 或者每次我们需要圆角视图时都需要在 xml 或九个补丁中创建可绘制对象 问题是 当我实现此类视图时 我需要为每个此类视图创建一个可绘
  • 在旧版本的 API 上更改 ContentObserver Onchange 上的 uri [重复]

    这个问题在这里已经有答案了 可能的重复 如何获取内容观察器中插入行的 URI https stackoverflow com questions 8432800 how to get uri of inserted row in my co
  • Android TableRow 垂直拉伸以填充屏幕

    我正在尝试创建一个电话拨号器视图 使用 TableLayout 在 3x4 网格中创建 12 个按钮 我希望行垂直拉伸以平等地使用所有可用空间 但似乎 fill parent 在 TableRows 上不起作用 我不想使用 setMinim
  • CollapsingToolbarLayout 禁用绘制扩展

    我有一个已有条件禁用的 CollapsingToolbar 当用户在这种情况下加载视图时 它看起来就像一个普通的 ToolBar 对象 唯一奇怪的是 如果它们向下拖动 例如在拉动刷新样式操作中 折叠工具栏就会展开 尽管我的愿望和代码与此相反
  • 发送 OneSignal 推送通知时 Android 应用程序崩溃

    Android 应用程序在发送信号推送通知后立即崩溃 我收到这个错误 尝试查看其他 stackoverflow 答案 但没有帮助 请检查下面的代码 build gradle 和错误 不明白为什么它不起作用 P 请检查下面的代码 build
  • 颤动附近的连接

    当我尝试在设备上做广告或发现时 我收到此错误 但是前一天在环路上效果很好 PlatformException Failure 17 API Nearby CONNECTIONS API is not available on this de
  • CheckedTextView 的中心文本和复选标记

    我实现的布局如下图所示 我使用的代码是
  • 使用 Asp.Net 的 GCM 推送通知

    正如您可能已经看到的 Google 正在迁移其推送通知系统 http developer android com guide google gcm c2dm html http developer android com guide goo
  • Android 设备 ID(不是 IMEI)

    我使用命令 adb devices 列出连接的设备 在我的电脑上我得到 附加设备列表 HT9CTP820988 器件 我的问题是 如何以编程方式获取此 id HT9CTP820988 你所看到的adb devices命令是序列号 序列号 创
  • 在 Android 版 Glide 中离线时加载已获取的图像

    我正在使用 Glide 版本 4 8 0 为了加载图像我这样做 GlideApp with HomePageFragment this load remoteURL diskCacheStrategy DiskCacheStrategy A
  • 使用 IntelliJ / Android Studio 调试基于 gradle 的单元测试

    我正在使用robolectric gradle 插件 https github com robolectric robolectric gradle plugin为 Android 编写单元测试 到目前为止 除了能够使用 Android S
  • Android - 如何合并两个视频

    基本上 我正在寻找一种将两个 mp4 视频文件 在 SD 卡上 组合在一起的方法 更像是在第一个视频的末尾附加第二个视频 我进行了很多搜索 但找不到合适的解决方案 好吧 我根本找不到任何解决方案 所以我的问题是 是否有一个库可以组合 并可能
  • 防止 Firebase 中的待处理写入事务不起作用

    我的目标是在单击按钮时将名称插入 Cloud Firestore 中 但如果用户未连接到互联网 我不希望保存处于挂起状态 我不喜欢 Firebase 保存待处理写入的行为 即使互联网连接已恢复 我研究发现Firebase 开发人员建议使用事
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到

随机推荐

  • 多式样ProgressBar

    多式样ProgressBar 普通圆形ProgressBar 该类型进度条也就是一个表示运转的过程 xff0c 例如发送短信 xff0c 连接网络等等 xff0c 表示一个过程正在执行中 一般只要在XML布局中定义就可以了 lt progr
  • 修改Linux系統的默認連接數

    1 修改用戶進程可打開文件數限制 在Linux平台上 xff0c 無論編寫客戶端程序還是服務端程序 xff0c 在進行高並發TCP連接處理時 xff0c 最高的並發數量都要受到系統對用戶單一進程同時可打開文件數量的限制 這是因為系統為每個T
  • 详解大端模式和小端模式

    详解大端模式和小端模式 一 大端模式和小端模式的起源 关于大端小端名词的由来 xff0c 有一个有趣的故事 xff0c 来自于Jonathan Swift的 格利佛游记 xff1a Lilliput和Blefuscu这两个强国在过去的36个
  • 字符串连接(c语言实现)

    起因 今天九度刷题的时候 xff0c 发现一个不调用任何c的库函数实现字符串拼接的代码很多人写的过于复杂 xff0c 链表都用上了 xff0c 真的不至于 xff0c 只要知道字符串的最后截止符是 39 0 39 题目描述 xff1a 不借
  • STL里list、vector、queue性能差异与疑似内存泄漏问题

    最近在项目中debug退出后 xff0c VS的Output面板会输出大量内存泄漏的信息 经过排查 xff0c 居然发现是使用了std list的原因 xff01 然而通过MSDN上一些前辈的讨论 xff0c 得知List并没有真正导致内存
  • malloc/free 的使用要点

    函数malloc的原型如下 xff1a void malloc size t size 用malloc申请一块长度为length的整数类型的内存 xff0c 程序如下 xff1a int p 61 int malloc sizeof int
  • 游戏中用户点击不可达地点引起寻路循环,游戏停顿问题解决

    游戏中用户点击不可达地点引起寻路循环 xff0c 游戏停顿问题解决 通常我们在游戏中通过寻路算法来找到用户点击的地点 xff0c 再根据目标地点来进行寻路 当用户点击 一个不可到达的地点时候 xff0c 游戏会出现突然停顿现象 如上图中的X
  • Android 驱动和系统开发 2. 解析模拟器GPS模块 (原创)

    好久没有写技术博客了 xff0c 恰逢今天还感冒了 xff0c 这破天气 xff0c 晚上凉风一吹 xff0c 就感冒了 xff0c 要加强锻炼呀 好了 xff0c 废话不多说 xff0c 由于工作需要 xff0c 我要移植一个虚拟的gps
  • QoS的基本原理

    QoS的基本原理 作者 xff1a 上传时间 xff1a 2011 04 22 关键字 xff1a 网络大爬虫4 QoS专题 文 胡国华 1 前言 QoS xff08 Quality of Service xff09 是服务质量的简称 对于
  • Java 两个数相除,只要有小数就入一位,不舍去,即为向上去整

    向上取整用Math ceil double a 向下取整用Math floor double a 例如 xff1a System out println Math ceil 1 21 System out println Math ceil
  • NAT的双机热备方案

    一般的NAT组网中 xff0c 内网用户通过单台设备进行NAT转换访问外网 xff0c NAT设备承担了所有内外网之间的流量 xff0c 无法规避单点故障 一旦发生单点故障 xff0c 将导致内网用户无法与外网通信 随着用户对网络可靠性的要
  • 《Java TCP/IP Socket 编程 》读书笔记之十二:各章节要点

    转载请注明出处 xff1a http blog csdn net ns code article details 16118955 T CP IPSocketsinjava读书笔记 第1章 xff1a 简介 1 协议相当于相互通信的程序间达
  • 给同校大一IT新生的建议

    在论坛上看到同学院的学弟问的 xff0c 就回答了一下 打的字挺多的 xff0c 所以就发到博客上了 原文是这样子的 xff1a 我上大一 xff0c 西安二本里垫底的大学 在学校C语言学一学期感觉啥也没学到 想补补自己的编程技术 xff0
  • mysql 让空值用0补充的函数IFNULL(a,0)

    记录 xff0c 防止遗忘 xff01 sql如下 xff1a SELECT IFNULL SELECT sum EO using value FROM cq energy other as eo WHERE eo EO type 61 e
  • 解决SQLite中的 database is locked

    前些时候 xff0c 同事在站点服务端使用SQlite存储一些临时数据 xff0c 但是在多人并发的时候Sqlite会抛出异常 xff1a The database file is locked database is locked xff
  • 引用的一些规则

    引用 xff1a int amp n 61 m n相当于m的别名 xff08 绰号 xff09 xff0c 对n任何操作就是对m的操作 xff0c n既不是m的拷贝 xff0c 也不是m的指针 xff0c 其实n就是m它自己 引用的一些规则
  • photoshop中制作法线贴图

  • java统计文本中某个字符串出现的次数

    原文 xff1a java统计文本中某个字符串出现的次数源代码下载地址 xff1a http www zuidaima com share 1550463297014784 htm 统计文本中某个字符串出现的次数或字符串中指定元素出现的次数
  • GitHub上最火的Android开源项目

    摘要 xff1a 截至目前 xff0c 在GitHub 最受欢迎的开源项目 系列文章中我们已介绍了40个Android开源项目 xff0c 对于如此众多的项目 xff0c 你是Mark 和码友分享经验还是慨叹 活到老要学到老 xff1f 今
  • Android 自定义类库打包jar! 谁说不可以打包res 文件?

    我们经常会有这种需求 xff0c 自己开发一个类库jar包 xff0c 提供给别人调用 网上很多教程都是这么说 xff1a 创建一个Android project 用eclipse 的export 导出 xff0c 去掉AndroidMan