2019独角兽企业重金招聘Python工程师标准>>>

初探:

android studio生成Jar.

android studio 自动生成aar.

 1.android studio 自动生成.jar, 首先将工程作为依赖库,build即可。

 2.手动打包jar

1> 仅打包class文件

task makeJar(type: Jar, dependsOn:['build', 'targetJar']) {from file('build/intermediates/classes/release')//目标文件名称archiveName = 'un_proguard.jar'destinationDir = file('build/libs')exclude "lbs/tmplibary/BuildConfig.class"exclude "lbs/tmplibary/BuildConfig\$*.class"exclude "**/R.class"exclude "**/R\$*.class"//只导入资源路径集下的部分资源include "lbs/**/*.class"
}

2>添加assets文件

(1)直接includes assets文件即可

task makeJar(type: Jar, dependsOn:['build', 'targetJar']) {from file('build/intermediates/classes/release')from fileTree(dir: 'src/main', includes: ['assets/**'])//目标文件名称archiveName = 'un_proguard.jar'destinationDir = file('build/libs')exclude "lbs/tmplibary/BuildConfig.class"exclude "lbs/tmplibary/BuildConfig\$*.class"exclude "**/R.class"exclude "**/R\$*.class"//只导入资源路径集下的部分资源include "lbs/**/*.class"include "assets/**"
}

(2)使用zipTree

将所需打包的assets文件打包成.zip,如下:

def zipFile = "src/main/assets.zip"
task makeJar(type: Jar, dependsOn:['build', 'targetJar']) {from zipTree(zipFile)from file('build/intermediates/classes/release')//目标文件名称archiveName = 'un_proguard.jar'destinationDir = file('build/libs')exclude "lbs/tmplibary/BuildConfig.class"exclude "lbs/tmplibary/BuildConfig\$*.class"exclude "**/R.class"exclude "**/R\$*.class"//只导入资源路径集下的部分资源include "lbs/**/*.class"}

3.混淆

task proguard(type: proguard.gradle.ProGuardTask, dependsOn: makeJar) {
//  输入路径injars "build/libs/un_proguard.jar"
//  输出路径outjars 'libs/app_proguard.jar'
//  添加配置信息configuration 'proguard-rules.pro'
}

proguard-rules.pro需要配置一下路径

-libraryjars <java.home>/lib/rt.jar
-libraryjars  xxxxx/android/sdk/platforms/android-22/android.jar

注:代码编译出错的情况下 添加

-dontpreverify

尽可能的时候使用

-dontwarn

忽略一些不必要的警告,以便成功打包。

完结,~_~

转载于:https://my.oschina.net/u/2531612/blog/591366

AndroidStudio 生成Jar并混淆相关推荐

  1. AndroidStudio生成自定义的混淆jar包(同时将assets目录打入jar包)(二)(by 星空武哥)

    转载请标注原文地址:http://blog.csdn.net/lsyz0021/article/details/53107595 在以前曾经写过两篇文章,关于是生成jar包和引用jar的文章,建议先看 ...

  2. android代码混淆时,如何防止第三方jar包被混淆导致程序出错

    代码混淆是给其他人破解自己的程序带来更多困难,但混淆不能影响我们程序的正常运行.最近在代码混淆时出现一个问题:就是第三方jar被混淆时出现程序错误,错误主要是说找不到相关的类. 这个问题也不奇怪,我们 ...

  3. idea普通类导出jar及jar包混淆

    1. 注意~~: 在打包之前先build整个项目,生成classes文件,并将不参与打包的文件编译过后的类删除 比如要打包cotraining下的所有类,则需要把启动类及配置类还有其他的不需要的类等都 ...

  4. AndroidStudio打jar包(包含META-INF文件)

    最近在研究sdk的开发,遇到了AndroidStudio打jar的问题,,,执行打jar包的操作我们都可以生成一个jar包,但是这个jar包里面的呈现内容  和  eclipse打jar包的呈现内容是 ...

  5. 使用MATLAB如何生成jar包

    我们都知道,MATLAB在数值分析方面是很优秀的,因此我们有时候需要使用Java调用MATLAB写的一些函数.那么今天就给大家说说怎么弄. 提前声明:我的电脑系统是win10企业版,MATLAB版本为 ...

  6. maven 与intellij IDEA 下maven 为groovy 项目生成jar 详解

    2019独角兽企业重金招聘Python工程师标准>>> W7下安装 maven与intellij IDEA 下maven为groovy项目生成jar详解(适合新手) 第一步:下载ma ...

  7. Eclipse如何生成jar包

    Eclipse如何生成jar包 图1 右击项目Properites,选择Android,选择Is Library,然后会编译生成jar包在bin目录下.

  8. Java中如何生成jar(框架)

    有如下获取随机数的类PlayRandom package com.java.random;public class PlayRandom {public static int getRandom() ...

  9. java 单开程序_java生成jar包并且单进程运行的实例

    java文件打包jar运行 有效步骤: 1.cmd 到当前目录(默认包主类所在目录为例) set classpath = 默认包主类所在目录 2.javac 主类名.java 3.java 主类名 4 ...

最新文章

  1. mysql等价语句是_Mysql基本语句(个人笔记)
  2. zookeeper与分布式系统
  3. mysql搭建主主_mysql主主配置
  4. 实战SSM_O2O商铺_42【前端展示】店铺列表页面View层的实现
  5. react学习笔记(8)生命周期回顾与再认识
  6. 使用MyBatis和Spring构建Java Web应用程序
  7. 关于python变量的描述_Python变量命名的详细介绍
  8. mysql 封装json数据类型_mysql中的json数据类型
  9. Hibernate中的3中状态
  10. Ubuntu安装minicom串口工具
  11. Java中的Arrays类使用详解
  12. 基于java的教师信息管理系统
  13. 点到线段的距离 计算几何
  14. 经典语录(确实经典)
  15. 互联网厂商抢着布局的“无币区块链”到底是什么?
  16. linux内核5.8.1,Linus Torvalds宣布大规模更新Linux内核5.8
  17. 明明没PS,看起来却像PS过的照片!
  18. 基于Quick-cocos2d-x 2.2.3 的动态更新实现
  19. 知网下载论文(通过深圳图书馆)
  20. 海思技术交流论坛/知扬开源技术论坛

热门文章

  1. python变量作用域图解_python的变量作用域问题
  2. ZOJ3531: [SDOI2014] 旅行
  3. [转]移动应用统一化的谎言:一次编译,到处运行不可能
  4. python 数据的基本类型(字符串)
  5. linux命令之高级使用 find
  6. 页面上一些小icon的制作方法及技术选择
  7. 先装VS2008再装SQL2005的问题
  8. Caffe训练ImageNet
  9. Android的沉浸式状态栏与变色状态栏详解
  10. 华为交换机vlan与trunk配置