将Android项目打包成Library

2023-11-09

最近在弄一个SDK,考虑把项目做成 Library 类库的形式,方便调用,顺便在此分享给大家。
首先,先创建一个普通的android项目。 这个项目可以起任何你想要的名称,想要的包名等,步骤如下:
  • 在Package Explorer中, 鼠标右键项目文件夹,点击 Properties.
  • 在Properties 窗口, 选择"Android" ,Library属性显示在右下边.
  • 把"is Library" 单选框选择上,再点击 Apply.
  • 点击 OK 关闭Properties 窗口.


     如图:  





一个库项目的manifest文件也和标准的android应用程序一样,要声明所有共享的组件及权限。
<manifest>  ...  <application>    ...    <activity android:name=".." />    ...  </application></manifest>


这时,这个项目就变成库项目了。


接下来,就是在我们 开发的应用程序引入  Library 库项目中的代码和资源 引用 啦!步骤也非常简单。
我们可以新建项目,或在已有项目的基础上:
  • 在Package Explorer中, 鼠标右键项目文件夹,点击 Properties.
  • 在Properties 窗口, 选择"Android" ,Library属性显示在右下边.
  • 点击Add ,打开了Project Selection对话框.
  • 从可用库项目列表选择一个项目,然后点击 OK.
  • 对话框关闭之后点击 Apply (在Properties窗口).
  • 点击 OK 关闭Properties 窗口.


    如图:  


完成以上六步,Eclipse 会重建项目,把库项目中的内容包含进去,重新在gen文件夹上生存R文件。


我刚开始时没做以上步骤,就直接在  Java Build Path -> Projects -> add 添加了 Library 进来,结果,导致了
java.lang.NoClassDefFoundError.


当时就悲催了哈。。。。



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

将Android项目打包成Library 的相关文章

  • 从队列更新活动的最佳方法

    我有一个LinkedBlockingQueue在我的 生产者 调解者 消费者 模型中的调解者中 Producer 首先更新将 Mediator 添加到 ActivityQueue 中 接下来 消费者 活动在队列中等待 侦听并获取下一个项目
  • RecyclerView 未显示列表中的所有项目

    我在用RecyclerView在我的应用程序中 每次我打开屏幕时 我只能看到一项 但当我调试时 它每次都会出现onBindViewHolder method 这是我的适配器 Override public ViewHolder onCrea
  • Android 布局不需要的填充

    所以我有这个布局文件 如下 正如您所看到的 没有填充或边距 dimen xml 文件也没有任何填充 边距 最后 我根本不以编程方式更改布局
  • Android Ble GATT_ERROR 133 经常使用三星设备

    我正在研究 BLE 应用程序 我已经使用 Nexus Moto Samsung LG 等不同设备进行了测试 我仅在三星设备中收到 GATT 错误 133 三星 A5 2016 尝试连接 10 次 但只连接了 2 或 3 次 请帮助我 Non
  • 居中复选框视图

    如果除了 或代替 复选框之外 您还对单选按钮感兴趣 请参阅this https stackoverflow com questions 16701806 centering views 2而是提问 尽管存在
  • IntentService、Service 或 AsyncTask

    实现这一点的最佳方法是什么 我有一个 Android 应用程序 它将使用我的 python 服务器来允许两部手机之间进行轮流通信 回合意味着他们在一轮开始之前不能互相交谈 一旦他们发送一条消息 他们就不能发送另一条消息 直到对方做出回应 然
  • 删除 json 对象字符串中的“\”

    如何删除下面字符串中的特殊字符 String x message content toom recipients id 1000001865 room subject room 我使用了 x replaceAll 但它不起作用 您必须转义正
  • Notification.Builder 中 setGroup() 的用途是什么?

    我对目标的理解有些困难setGroup http developer android com reference android app Notification Builder html setGroup java lang String
  • Android中如何将文件写入raw文件夹?

    我认为这是一个非常基本的问题 我目前正在编写这样的文件 File output new File exampleout mid 现在 我想将文件写入 myproject res raw 我读到我可以通过将完整的网址放在 中来做到这一点 但
  • 无法找到/下载 AppCompat-v7:23.1.1

    怎么了 我遇到了很多 找不到 appcompat v7 23 1 1 的问题 许多解决方案都不起作用 经过几个小时的思考和寻找答案 我遇到了一个奇怪的问题 I have gotAndroid 支持库 23 1 1 已安装 所有功能 exce
  • 如何在我的 Android 应用程序中实现应用内购买?

    如何在我的 Android 应用程序中实现应用内购买 我提到 http developer android com guide market billing billing integrate html billing service ht
  • 错误 libGL.so:无法使用 Android 模拟器打开共享对象文件

    我试图在 Ubuntu 12 04 64 位 中运行 android 模拟器 但是 我收到以下错误 Starting emulator for AVD emulatr Failed to load libGL so error libGL
  • AOSP 中 android.Build.SERIAL 何时何地生成?

    我知道android Build SERIAL是在第一次设备启动时生成的 但我无法准确定位位置和时间 我正在建造AOSP Jelly Bean Android平板电脑 nosdcard 第二个问题 这个是序列号吗 really对所有人来说都
  • 如何将 Google Now 搜索栏添加到我的应用程序中?

    谷歌刚刚将其搜索栏从 Google Now 引入到了 Play 商店应用程序中 如下面的 gif 所示 如何将这个操作栏搜索栏实现到我自己的应用程序中 我想要 style 汉堡动画 从工具栏按钮访问 麦克风按钮 对棒棒糖设备的连锁反应 我已
  • 以编程方式应用样式资源

    我没有找到一种以编程方式做到这一点的方法 所以我在这里发布这个问题 我也没有找到与此相关的任何问题 我有一个资源样式 在 res values styles xml 中定义 我想做的是使用 java 将这种样式应用到我正在操作的 View
  • 使用 cordova cli 构建时的 Android 安装位置

    我正在使用 cordova CLI 工具构建一个大型 cordova phonegap 应用程序 我需要 AndroidManifest xml 文件中的 installLocation 具有 installLocation auto 或p
  • 使用 Glide 库设置图像加载完成后进度条的可见性

    您好 我想要一个图像进度条 该进度条将在图像加载时显示 但当图像加载完成时 我想将其设置为消失 早些时候我为此使用了毕加索库 但我不知道如何将它与 Glide 库一起使用 我知道有一些资源就绪功能 但我不知道如何使用它 谁能帮我 毕加索图书
  • 在 Android ADT Eclipse 插件中滚动布局编辑器

    有谁知道当布局编辑器的内容溢出一个 屏幕 时如何滚动这些内容 我说的是在设计时使用 ADT 布局编辑器 而不是在物理设备上运行时滚动 效果很好 关闭 Android 布局编辑器中的剪辑 切换剪辑 按钮位于 Android 布局编辑器的右上角
  • 如何在 Android 中保存 Edittext 中的文本而不丢失文本的粗体、斜体等功能

    我想做的就是从 Edittext 中获取文本 该文本具有粗体和斜体等功能 并将其保存在文本文件中 但是当我读回并显示它时 这些功能丢失了 它们不显示 如何通过将文本保存在文本文件或任何文件中来保持丰富的功能 您可以使用Html toHtml
  • 在上下文操作模式下选择时,ListView 项目不会在视觉上“突出显示”

    我关注了 Android 官方网站创建上下文操作菜单的教程 http developer android com guide topics ui menus html CAB 使用下面的代码 当我长按我的 ListView 项目之一时 它确

随机推荐

  • 15-Linux_安装gcc,g++及编译

    安装gcc g 及编译 1 gcc g 安装 2 编译链接的四步 1 预编译 2 编译 3 汇编 4 链接 3 编译链接的过程 4 各个阶段所作的事情 1 预编译阶段 2 编译阶段 3 汇编阶段 4 链接阶段 5 关于执行 6 关于一步执行
  • springcloud-gateway集成knife4j(swagger3)

    springcloud gateway集成knife4j swagger3 springcloud gateway集成knife4j swagger3 环境信息 准备工作 微服务集成knife4j 第一步 编写Knife4jApiInfoP
  • VUE element ui 动态合并单元格问题

    VUE element ui 动态合并单元格问题 1 基础方法 最开始从网上找到了一个基本的可以同时兼顾行和列的方法 时间太久忘记出自哪里了 如下 效果 绑定 span method arraySpanMethod
  • Java GUI 学习笔记(基础)

    Java GUI体系继承图附上 常用的窗体有 JFrame 和 JDialog JFrame JFrame 是一个 swing 容器 即是各个组件的载体 构造方法 1 JFrame 创建一个无标题的窗口 2 Frame String s 创
  • C51延时函数delay的编写

    例如 要写一个延迟10ms的delay函数 12M晶振 void delay 10ms unsigned char i j k for i 5 i gt 0 i for j 4 j gt 0 j for k 248 j gt 0 j 原理
  • CloudCompare——点云绕任意点旋转

    目录 一 绕点旋转 1 功能概述 2 软件实现 3 相关代码 一 绕点旋转 1 功能概述 Pick rotation center 功能可以实现点云绕任意指定点进行旋转 2 软件实现 3 相关代码 1 PCL 点云绕任意点旋转
  • 一文理解推挽输出&漏极开路输出(OD)&集电极开路输出(OC)

    因为自己之前一直不理解推挽输出 漏极开路输出 集电极开路输出这三个概念到底是什么意思 今天终于静下心来好好学习了一遍 于是便写下本文详细解释一下这三个概念 希望能对你有所帮助 文中大部分内容均为引用 要理解推挽输出 首先要理解好三极管 晶体
  • Android studio 查看文件svn/本地历史

    在AS中打开目标文件 而后选中右键本地历史 Local History gt Show History svn历史 Subversion gt Show History
  • 开源资产管理系统

    真正的大师 永远都怀着一颗学徒的心 一 项目简介 今天给大家推荐一个开源的资产管理系统 对于一个公司而言 对资产的记录是一件很重要的事情 短时间你可能知道一个电脑 一个打印机放在什么地方 但是随着时间的推移 对于一个公司老人来说你都很难找到
  • 用node.js 实现一个简单的接口

    使用 Node js 可以方便地创建简单的接口 下面是一个使用 Node js 和 Express 框架创建简单接口的示例 首先 确保已经安装了 Node js 和 npm Node js 包管理器 1 创建一个新的文件夹 并在文件夹中打开
  • 华为od机试 C++ 地址分割

    题目 你的任务是编写一个程序 该程序将接收一个由逗号分隔的字符串 其中包含一个URL的前缀和后缀 然后将它们合并成一个完整的URL 合并规则如下 如果前缀的最后一个字符是斜杠 则删除它 如果后缀的第一个字符是斜杠 则删除它 在处理过的前缀和
  • 很诡异的问题——Jenkins与svn代码冲突之解决方法

    今天遇到一个很诡异的问题 可能是我刚刚接触jenkins的原因 导致这个问题困扰了我半个小时 不管怎么样 我还是记录下来 希望能帮助到那些和我一样刚刚接触jenkins的小伙伴 我从idea修改了两个配置文件 提交到svn 然后jenkin
  • mac上安装brew(最简易)

    我们使用linux下有yum mac相应的是brew 安装软件 brew的安装目录在 usr local Cellar 我们以安装nodejs为例子 只需要执行 brew install nodejs 就安装完了 就这么简单 接下来我们安装
  • java开源 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城 小程序商城搭建

    1 涉及平台 平台管理 商家端 PC端 手机端 买家平台 H5 公众号 小程序 APP端 IOS Android 微服务平台 业务服务 2 核心架构 Spring Cloud Spring Boot Mybatis Redis 3 前端框架
  • M1 电脑使用nvm 管理node

    1 执行下面的代码创建文件 bash profile touch bash profile 2 下载安装 curl o https raw githubusercontent com nvm sh nvm v0 35 2 install s
  • 从零开始的Docker详解(六)

    Docker仓库 docker仓库是集中存放镜像的地方 类似maven的仓库集中存放依赖 Docker Hub Docker Hub是由Docker官方维护的公共仓库 包含官方镜像和个人上传的镜像 大部分镜像都可以在上面找到 注 非官方的镜
  • CentOS7.3 安装

    选择Install CentOS Linux 7 选择语言 点击软件选择 选择基本环境 点击安装位置 选择我要配置分区 点击完成 根据需要选择分区方案 点击 根据需要添加挂载点 添加完所有挂载点后点击完成 在弹出的页面中选择接受更改 点击开
  • java基础知识点

    java中有四大修饰符 分别为private default protected public 下面主要是四者之间的区别 private 私有的 private可以修饰成员变量 成员方法 构造方法 不能修饰类 此刻指的是外部类 内部类不加以
  • 【mybatis-plus】学习笔记

    官方地址 https mp baomidou com 自动化工具 JPA tk imapper MybatisPlus 简介 MyBatis Plus 简称 MP 是一个 MyBatis 的增强工具 在 MyBatis 的基础上只做增强不做
  • 将Android项目打包成Library

    最近在弄一个SDK 考虑把项目做成 Library 类库的形式 方便调用 顺便在此分享给大家 首先 先创建一个普通的android项目 这个项目可以起任何你想要的名称 想要的包名等 步骤如下 在Package Explorer中 鼠标右键项