Android打jar包之将Android工程连同第三方jar包一起打包成jar包问题总结

Android Studio 将Library打包成jar或aar包         在eclipse中导出jar包,对于老司机们来说再熟悉不过了,对于新手来说也很简单(不知道还有没有Android新手在用eclipse开发工具了),鼠标咔咔几下jar包就出来了。不过,AS中打jar包也挺简单,就是多几行代码而已。一、打包成jar        首先自己新建一个工程,然后添加module并依赖;如下图:        slidingmenuhbh为添加的librar... 阅读详情

由于项目需要,需要将Android工程打包成jar包供他人调用,随着功能的增加,需要引入第三方jar包的功能,因而要将Android工程连同第三方的jar包一起重新打包成jar包,现在将实际操作中的一些问题稍作总结。

Android工程打包成jar包一共可分为三种情况,下面针对不同情况总结不同的打包方法:


情况一:需要打包的Android工程不包含任何资源文件,只需打包源代码

方法1,使用proguard打包工具,这种工具打包的好处是可以对代码进行混淆,并且可以删除不需要的代码,压缩jar包的大小,但是使用proguard工具时,需要自己写配置文件,本人研究了一段时间,暂时还不是完全掌握,只能在原有基础上做简单修改。

方法2,使用eclipse直接导出jar包,这种方法简单,只是代码不能混淆,再次不做赘述。


情况二:需要打包的Android工程中包含资源文件

由于android中的资源文件都是会生成R文件,程序会根据R文件进行索引,由于R文件是动态生成的,将资源文件放入jar包中,R文件不能生成对应的索引,当程序使用jar包中的资源文件时就会报错。

解决方法:将资源文件放入到assets文件夹中,通过以下方法引用文件

public static Drawable getDrawableFromAssets(Context context,
       String imageFileName) {
   Drawable result = null;
   AssetManager assetManager = context.getAssets();
   InputStream is = null;
   try {
       is = assetManager.open(imageFileName);
       result = Drawable.createFromStream(is, null);
       is.close();
       is = null;
   } catch (IOException e) {
       e.printStackTrace();
   }
   return result;
}

但是使用这中方法,就不能使用proguard工具打包,只能使用eclipse或者Fat jar插件进行打包。


情况三:引用到第三方jar包

当引用到第三方jar包的时候,使用proguard或者eclipse直接导出,第三方的jar包都不能被包含到新的jar包中,运行程序会出现java.lang.NoClassDefFoundError的错误。

解决办法:使用Fat jar工具进行打包,发现可以将第三方的jar包包含进来。

希望对您有所帮助!!

Android Studio混淆打包忽略第三方jar包配置 写这篇博客的理由前段时间用Android Studioh的时候,碰到一些问题,网上找了很多资料,发现很多都是Copy Paste,找了许久没有找到有用的资料,然后在Stack Overflow中找到了部分答案。所以决定自己写一篇“有用的博客”。 启用混淆打包在Android Studio中只需要打开build.gradle文件,找到如下一段,把minifyEnabled 设置为 true,就 阅读详情

相关推荐

android通过ant打包带有Library project和第三方jar包 的脚本实现

问题背景:我们的游戏工程要移植到某渠道,该渠道有自己的计费和登录方式,提供给我们了一个android sdk工程,该工程中只有res,src是一个jar包。 思路由来:使用eclipse工程打包,解压apk,查看里面的class.dex,resource.arsc文件,看看都有什么内容,再自己写脚本实现相同的处理。   普通的android工程ant打包网上的资源已经很泛滥了,我在这里不再赘

liuxiangtao的专栏 7159

Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中...

前言: 关于.jar文件: 平时我们Android项目开发中经常会用到第三方的.jar文件。 其实.jar文件就是一个类似.zip文件的压缩包,里面包含了一些源代码,注意的是.jar不包含资源文件(res、图片等) -----------------------------------------------------------------------------------...

defukwanmcth26174的博客 692

android工程中引入第三方JAR包后安装APK时老是提示找不到库文件 || Android如何将程序打成jar包 || 运行java.lang.noclassdeffounderror错误

我是这样添加的。经测试编译和运行都完全没问题;右键工程,Build path,java build path,选择libraries在右边的按钮中点击“Add Library”选择“User library”,点击“下一步”点击“User librarys”按钮在出现的界面中点击

2万+

Android Studio 将引用第三方jar包的android工程打包成jar包

1、新建一个module,在该module中编写你所打的包的功能。若你所写代码需要权限,要到该module下的androidmanifest.xml中写上相应权限。 2、在新建module的.gradle文件中添加如下代码: task makeJar(type: Copy) {     delete 'build/libs/mysdk.jar'     from('build/interm

木偶16的博客 6342

Android 导入多个第三方jar包

今天遇到一个问题,需要在工程目录下导入两个第三方jar包。 大家都知道,在eclipse里导入jar包是通过右键工程目录选择Add Library,选择jar包所在目录,然后导入。但是在源码目录package/app/下编译应用,该如何导入呢? 其实实现起来也挺简单,需要修改一下Android.mk文件   代码如下:   LOCAL_PATH:= $(call my-dir) in

fangchongbory的专栏 4892

Android Studio工程项目打包成SDK(jar或aar格式)

##Android工程项目打包成SDK 在app的gradle下进行设置: 将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com.android.library’; 注释或删掉applicationId “com.library.mylibrary”; 然后sync,接着Rebuild Project,成功后...

androdi_ying的博客 1799

将引入的第三方jar一起打包成jar

转自 http://www.cnblogs.com/chenpw/articles/2307753.html 这几天在搞一个解析xml文件的项目,使用了dom4j来解析xml文件。想把解析xml文件的方法给抽取出来,打成jar包,以方便以后使用。 dom4j要导入dom4j-1.4.jar,如果使用eclipse打包的话,右击项目,选择export ,根据导向一直

ashqal的专栏 1410

用Android Studio打Jar包

前言:以前都是用eclipse打jar包,就算装了Android Studio,由于已经习惯了eclipse打包,一直没有去尝试用Android Studio打包,今天由于动态加载需要,而在新电脑上又没有eclipse,只好学习一下。 首先,我们先做一个Demo,创建一个工程,在工程下创建一个module,选择Android Library:我命名为mylibrary,创建好工程目录如下:然后修改上

gaozhan_csdn的博客 1638

Android Studio将包含第三方jar的项目打成jar包

AS 打包出含有第三方库的jar包 一、需求 有一个需求:输入一些字段,按照一定规则生成URL,然后再根据URL生成一个二维码图片。由于这个功能其他软件也会使用,因此需要将实现打包成一个SDK。 二、实现 之前没有打包过sdk,然后从网络找了教程,我是参考了AndroidStudio项目打包成jar这个篇博客,写的很详细。本地新建了项目MakeJar,把需要打包成jar包的代码放在了qrgener...

孔小乐的博客 3594

【项目实战】Android开发中引入第三方库或者打包(Android JAR和AAR文件格式的打包和引入方法)

Android开发中,我们经常需要引入第三方库或者打包我们的Android代码为可复用的库。这其中,Android JAR和AAR是两种常见的库文件格式。下面将详细介绍这两种文件格式的打包和引入方法,以及它们之间的区别、优缺点和适用场景。

奶爸的编程之路,也就一周冷个三天 2120

高能物理相关软件

国内高能物理实验背景     研究物质最深层次结构及相互作用的前沿基础科学。 现代高能物理实验的要素    实例源 、 探测器、   电子学、  触发 DAQ、  原始数据、 刻度、重建 、物理分析、  成果  。 离线软件的地位和作用。    是硬件设备和物理学家的桥梁,是从数据到物理成果转化中的关键和重要的环节。 高能物理实验及其特点 独一无二性,实验规模越来越大,努力省钱(使用

Alan Zhuang的博客 3301

Android NDK开发:打包so库及jar包供他人使用

Android的NDK开发相信各位已经精通各种姿势了。不过基本上都是那种native代码和java代码都在同一个工程中,因为应用从头到脚都是我们自己的,也不需要分离。但有时候可能需要我们自己把某些库打包起来供别人使用,或者使用别人提供给我们的库。本篇文章及下篇文章就讲讲so库如何打包。 一、目标及方式 这篇文章会讲第一种方式来打包so库,这种方式是基于jni层的,需要我们同时提供接口的jar包...

zuguorui的专栏 1万+

【驭风计划 机器学习】实验6 基于集成学习的 Amazon 用户评论质量预测

¶随着电商平台的兴起,以及疫情的持续影响,线上购物在我们的日常生活中扮演着越来越重要的角色。在进行线上商品挑选时,评论往往是我们十分关注的一个方面。然而目前电商网站的评论质量参差不齐,甚至有水军刷好评或者恶意差评的情况出现,严重影响了顾客的购物体验。因此,对于评论质量的预测成为电商平台越来越关注的话题,如果能自动对评论质量进行评估,就能根据预测结果避免展现低质量的评论。本案例中我们将基于集成学习的方法对 Amazon 现实场景中的评论质量进行预测。

Mege1的博客 473

Android Studio打包生成Jar包的方法

Android studio 将 Module 打包成 Jar 包   整理记录 AndroidStudio 把一个 module 项目打包成 jar 包。 一、默认自动生成的 jar 包   众所周知 android studio 会在library所依赖的 app运行 或 build 之后自动生成 jar 包,路径为 Module根目录/build/intermediates/bundl...

chenhuakang的博客 1万+

CXL协议-第三章 CXL事务层

CXL.io为I/O设备提供了一个非一致的负载/存储接口。图3-1显示了Flex总线分层层次结构中的位置。事务类型、事务分组格式、基于信用的流量控制、虚拟通道管理和事务排序规则遵循PCIe*定义,详情请参考PCIe基础规范的“事务层规范”章节。本章重点介绍了用于CXL.io的著名的PCIe操作模式或特性。

qq_41305217的博客 2769

自偏置电流镜设计实例

自偏置电流镜设计实例 一、概述 ​ 众所周知,电流镜属于模拟电路设计中的一个基本模块,可为其他模块提供偏置电流,例如在放大器中提供偏置电流以形成尾电流源并确定直流偏置点。本文将会介绍一种自偏置的电流镜,从原理出发,并以0.18um的工艺进行设计和仿真。 二、原理 ​ 如图一所示的电路,也称之为Beta-multiply reference电路,其中M2的尺寸是M1的k倍。M3复制M4的电流,M2和M1的漏极电流相同,但是VGS并不相等。其中 VGS=2IμnCoxW/...

aonuanjiang的博客 1万+

Android Studio Project 中Module打包成aar包或jar

一:说明 将一个独立的应用嵌入其他应用当中; 相关方法有两种: 第一种是将被嵌入的应用打包成 jar 包,但是这样的局限性是无法将被嵌入的应用所使用的资源性文件一起打包; 第二种是将被嵌入的应用打包成 aar 包,这也是 Android Studio 的一种新特性,可以将应用所使用的资源性文件一起打包; 如果Project 中 Module 是一个应用,则在 Module 的 build.gradle 文件中定义属性为:apply plugin: 'com.android.application'

u012693479的博客 6743

【OpenBMC 系列】4.启动流程 使用qume模拟ast2600-evb

1.安装openbmc适配的qume 2.启动bmc 3.使用bmc web

AiFool的博客 4459

Android制作service以及sdk并打包成jar包

项目中需要把连接服务器的部分做成一个service并生成一个jar模块。其他产品就可通过这个包来快速的开发连接服务器的应用软件。做成一个service的优点是: 1. 在后台运行,可以一直保持与服务器的连接 2. 服务可以只对外提供接口,具体功能在服务内部实现 3. 增加项目代码的耦合性   当然你不想拿着一个service的源代码分享给别人。你需要把这个服务打包成一个jar包。并且打包

Robert Zhang 8602

本科双非的计算机考研择校注意点——经验贴

一战一志愿上岸某211的电子信息专硕。之前在某乎也发过帖子。但现在用优快云,所以把相关的心得再发出来仅供大家参考。 首先,我认为最重要的是你为什么要考研? 不管你是为了混一个文凭将来好进大厂,还是为了真正搞学术或者学知识,你要知道你自己的目标,只有坚定自己的目标,才有动力去走完这段复习的历程。真正的考研,是很苦的。如果你是为了逃避大四面临的就业才选择考研,并且还浑浑噩噩不当回事,那我劝你放弃,不如踏踏实实学点技术去找实习。那从我自己出发,我是认为自己本科双非院校且自己四年间没有学到什么专业方面的技能,

m0_56698268的博客 3165

本地 AI 自由!OpenClaw+Ollama 双系统部署教程(Windows/Linux),零成本离线跑大模型

本文详细介绍了如何在Windows和Linux双系统中部署OpenClaw AI助手,并通过Ollama对接本地大模型实现完全离线使用。教程包含环境准备、OpenClaw安装配置、Ollama本地模型部署、系统对接等完整流程,特别强调隐私安全和零Token消耗的优势。针对不同操作系统提供具体命令,并给出常见问题解决方案,即使是新手也能快速搭建专属本地AI助手。最终实现的方案无需联网、无使用成本,且能保障数据隐私安全。

2501_93651177的博客 7231

如何将AndroidStudio项目打包成jar包并使用

1、创建一个新的工程——NewProjects 2、在新工程中新建一个Module——mylibrary 3、在app模块下添加引用mylibrary模块 4、在mylibrary模块下的build.gradle中添加如下设置:(添加完同步一下即可) task makeJar(type: Copy) { //删除存在的jar包 delete 'build/...

夜瑾漠的博客 2112

iOS远程真机之ios-minicap安装使用完全指南

minicap 是开源项目 STF 中的高速截图工具。STF利用此工具不断的传输图片信息并在web端绘制实现 以前只有Android版本,最近有新的ios版本,现在就安装过程中遇到的一些问题进行分享(ps:感谢sorccu 在issue里面给我的指点) 首先上地址:https://github.com/openstf/ios-minicap 你可以git clone或者直接下载zip包。

甫式人生 1万+

将现有android项目打包成aar包供第三方应用调用

1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/debug(release)/classes.jar *.aar:库/build/outputs/aar/libraryname.aar 2.jar包只包含了classes文件,不包含资源文件;aar不仅包含了classes文件,还包含资源文件 并且,aar的这个可以发布到maven库,然...

xiaohudemsdn的博客 9556

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

android 打包自己的自定义组件成JAR包

<br /><br />在项目开发过程中,我们难免会用到自己去制作自定义的VIEW控件,之后我们别的项目如果需要的话就直接将其复制到对应的项目中使用,虽说这么做是一个解决问题的方法,但毕竟不是很好。<br />原因是,当我们项目积累越来越多,会发现自定义的控件越来越多,而且这些自定义的控件都是可以重复利用的,这时我们可以想想,如果把这些自定义控件都封装成一个JAR包,然后用一个项目积累起来,之后我们以后开发项目只要在原来JAR包的基础上做扩展或者直接使用,可以大大减少自己的工作重复性。<br />首先And

858

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

下一篇: Android之类似网易新闻客户端首页新闻列表实现思路
peidonghui
博客等级 码龄18年 19粉丝 36原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值