maven中添加proguard来混淆代码

maven中添加proguard来混淆代码
maven中添加proguard来混淆代码

maven中添加proguard来混淆代码

分类:JAVA学习2012-09-03 20:55 6795人阅读评论(6) 收藏举报想在现有的web工程中打包部分类的时候进行代码混淆。由于采用的是maven来管理所以google了一把发现已经有类似插件了。只要下回插件并添加相应的配置文件即可。本文仅是做下相关记录

1.修改pom.xml添加插件

com.pyx4me

proguard-maven-plugin

package

proguard

true

${basedir}/proguard.conf

${java.home}/lib/rt.jar

lib/fcexporter_jdk1.5.jar

lib/fcexporthandler.jar

lib/jsp-api.jar

lib/servlet-api.jar

false

net.sf.proguard

proguard

4.8

runtime

2.在pom.xml平级目录下添加proguard.conf文件

# ----------------------------------

# 通过指定数量的优化能执行

# -optimizationpasses n

# ----------------------------------

-optimizationpasses 3

# ----------------------------------

# 混淆时不会产生形形色色的类名

# -dontusemixedcaseclassnames

# ----------------------------------

-dontusemixedcaseclassnames

# ----------------------------------

# 指定不去忽略非公共的库类

# -dontskipnonpubliclibraryclasses

# ----------------------------------

#-dontskipnonpubliclibraryclasses

# ----------------------------------

# 不预校验

# -dontpreverify

# ----------------------------------

# -dontpreverify

# ----------------------------------

# 输出生成信息

# -verbose

# ----------------------------------

-verbose

#混淆时应用侵入式重载

-overloadaggressively

#优化时允许访问并修改有修饰符的类和类的成员

-allowaccessmodification

#确定统一的混淆类的成员名称来增加混淆

-useuniqueclassmembernames

#这里添加你不需要混淆的类

-keep class https://www.360docs.net/doc/7c9618014.html,mon.cache.** {*;}

-keep class https://www.360docs.net/doc/7c9618014.html,mon.constant.** {*;} -keep class https://www.360docs.net/doc/7c9618014.html,mon.dwr.** {*;}

-keep class https://www.360docs.net/doc/7c9618014.html,mon.servelt.** {*;}

-keep class https://www.360docs.net/doc/7c9618014.html,mon.util.** {*;}

-keep class https://www.360docs.net/doc/7c9618014.html,ponent.** {*;}

-keep class com.zsoftware.interfacepkg.** {*;}

-keep class com.zsoftware.model.** {*;}

-keep class com.zsoftware.view.** {*;}

-keep class com.zsoftware.webResource.** {*;}

-keep public class * extends javax.servlet.Servlet

-keepdirectories **

-keepattributes **

#-keepnames class * implements java.io.Serializable

# ---------保护所有实体中的字段名称----------

-keepclassmembers class * implements java.io.Serializable { ;

}

# --------- 保护类中的所有方法名 ------------

-keepclassmembers class * {

public ;

}

使用Eclipse构建Maven的SpringMVC项目

使用Eclipse构建Maven的SpringMVC 项目 首先Eclipse需要安装Maven的插件,地址:https://www.360docs.net/doc/7c9618014.html,/sites/m2e。 用MyEclipse安装Maven插件,建出的Maven项目有些问题。一是,发布tomcat的时候resources总是不会被发布到tomcat下;二是,把WEB-INF下的classes改到target下的classes,但是不知道为什么MyEclipse要么仍然在WEB-INF下生成class。要么真不在WEB-INF生成classes 了但是发布tomcat的时候,class文件一个都不会给你发布过去,超级郁闷。但是使用Eclipse构建Maven项目后,使用MyEclipse打开就没问题了。 用maven的好处:我感觉最主要就是自动下载jar包和它所依赖的包,这样可以保证了多人开发时jar版本不同的问题。再就是文件结构清晰,java文件,资源文件,测试文件都分的很清楚。 将介绍两种方法:一,直接建立Maven项目方法;二、建立Dynamic Web project转成Maven 项目方法。 1,建立Maven项目 接下来使用Eclipse的maven构建一个web项目,以构建SpringMVC项目为例: 1.1 选择建立Maven Project 选择File -> New -> Other,在New窗口中选择Maven -> Maven Project。点击newxt。

1.2 选择项目路径 Use default Workspace location默认工作空间。

如何查找maven库的jar包

将开源项目的jar包导入maven形成独立项目 注:MAVEN仓库找jar包: 1,https://www.360docs.net/doc/7c9618014.html, 2,https://www.360docs.net/doc/7c9618014.html, 1,将“F:\share\开发框架\JFinal:WEB_ORM开发框架\JFinal官网\jfinal-1.8-bin-with-src.jar”这个jar包,解压到一个按maven项目建立的文件夹(D:\EclipseWorkspace\jfinal_bin_src\src\main\java)(如下图),删除文件夹下所有.class文件 2,在eclipse(luna)中导入上一步解压后的文件夹“D:\EclipseWorkspace\jfinal_bin_src”

3,如上图所示,多个java文件出现,import导入错误;如下图所示,输入import报错对应信息对应的jar包相关包内容,找到类似的包,如下图加红色圈标识,按“pom”链接

4,上一步“pom”链接打开,看下两图所示,复制前面maven的依赖相关代码,并拷贝到文本文档

5,在eclipse中打开(或新建)jfinal_bin_src/pom.xml,选择文件编辑区下方的“Dependencies”标签,再按“Add”按钮,如下图所示,从上一步的文本文件中复制Group Id等信息,并按

(注意,如果是有parent和model并存的,一般选择parent部分的Group Id和Version,“ok”。 选择model部分的Artifact Id) 6,如果上步输入的包依赖信息有错,则出现下图提示没有找到包

Android Studio入门指南

Android Studio入门指南 作者:毕小朋 日期:2013.8.5 1.Android Studio简介 Android Studio是一个基于IntelliJIDEA的新的Android开发环境。与Eclipse ADT 插件相似,AndroidStudio提供了集成的Android开发工具用于开发和调试。除了你期望的IntelliJ的能 力,AndroidStudio还提供: ·基于Gradle构建的支持。 · Android专属的重构和快速修复。 ·捕获性能、易用性、版本兼容性等问题。 ·支持ProGuard和应用签名。 ·基于模板的向导来创建常见的Android设计和组件。 ·丰富的布局编辑器,允许你拖放UI组件并在多个屏幕上的预览布局,等等。 2. 安装Android Studio 1. 从上面下载AndroidStudio安装包。(下载地址:https://www.360docs.net/doc/7c9618014.html,/sdk/installing/studio.html译者注) 2. 安装Android Studio和SDK工具: Windows系统: 1. 启动下载的EXE文件,android-studio-bundle-.exe。 2. 按照安装向导安装AndroidStudio。 已知问题:在某些Windows系统中,没有找到Java的安装启动程序脚本。如果你遇到这样的问题,你需要设置一个环境变量,指向正确的位置。 选择“ 开始“菜单]]> 计算机]]> 系统属性]]> 高级系统属性。然后打开“高级”选项卡]]> 环境变量,并添加新的系统变量JA V A_HOME,指向你的JDK文件夹,例如C:\ Program Files\JA V A\jdk1.7.0_21。 Mac OS X的: 3. 打开下载的DMG文件,android-studio-bundle-.dmg。

Nexus仓库管理

Nexus仓库管理

管理仓库 为了管理Nexus仓库,以administrative用户登陆进Neuxs,然后点击Nexus 菜单左手边的Views/Repositories菜单中的Repositories。 Nexus提供了三种不同种类的仓库: ●Proxy Repositories ●Hostedrepositories ●Virtual repositories 1.代理仓库(Proxy Repository) 代理仓库是一个远程仓库的代理。默认的,Nexus附带下面已经配置的代理仓库: Apache Snapshots 这个仓库包含来ApacheSoftware Foundation发布的快照。 Codehaus Snapshots 这个仓库包含来Codehaus发布的快照。 Central 这是中央仓库包含发布组件。前身为Maven Central,它是Apache Maven默认的内置仓库,并且直接支持其它的构造工具,如Gradle, SBT或Ant/Ivy。Nexus通过HTTPS使用https://https://www.360docs.net/doc/7c9618014.html,/maven2/链接连接中央仓库。 2.宿主仓库(Hosted Repository) 主要用于部署无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)以及自己或第三方的项目构件。Nexus附带下面已经配置的宿主仓库: 3rd Party 这里存放的是某些在公共的Maven仓库中不存在的库,但依赖于第三方的仓库。这些依赖库可以是商业的,私有的库,例如Oracle JDBC驱动。 Releases

是你的组织将要发布的内部版本。这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍. Snapshots 是你的组织将要发布的内部块状。这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到 这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本. 2.虚拟仓库(Virtual Repository) Virutual repository作为不同类型仓库的适配器。当前,Nexus支持转换Maven 1仓库和Maven 2仓库。另外,你可以公开任何仓库格式为NuGet或OBR 仓库。例如,Maven 2仓库可以包含OSGi Bundles。a Maven 2 repository can contain OSGi Bundles, which can be exposed as a OSGi Bundle repository with the virtual repository Provider set to OBR. By default it ships with a Central M1 shadow repository that exposes the Central repository in Maven 1 format. 配置仓库 Repository窗口允许你建立,更新和删除不同的仓库使用Add,Delete和Trash按钮。Refresh按钮更新显示仓库和仓库组列表。正当在Nexus用户界面之行任何的delete操作,Trash按钮允许清空那些已删除组件的备份垃圾文件夹。 默认的,Repository窗口显示仓库配置和管理。在Trash按钮的右边允许切换仓库列表和浏览被Nexus管理的仓库

Android Studio使用指南

《Android Studio入门指南》作者:毕小朋 博客:https://www.360docs.net/doc/7c9618014.html,/wirelessqa Android Studio入门指南v0.1 作者:毕小朋 日期:2013.8.5 博客:https://www.360docs.net/doc/7c9618014.html,/wirelessqa

1.Android Studio简介 《Android Studio入门指南》作者:毕小朋 博客:https://www.360docs.net/doc/7c9618014.html,/wirelessqa Android Studio是一个基于IntelliJIDEA的新的Android开发环境。与Eclipse ADT插件相似,AndroidStudio提供了集成的Android开发工具用于开发和调试。除了你期望的IntelliJ的能力,AndroidStudio还提供: ·基于Gradle构建的支持。 ·Android专属的重构和快速修复。 ·捕获性能、易用性、版本兼容性等问题。 ·支持ProGuard和应用签名。 ·基于模板的向导来创建常见的Android设计和组件。 组件并在多个屏幕上的预览布局,等等。 ·丰富的布局编辑器,允许你拖放UI 2.安装Android Studio 1.从上面下载AndroidStudio安装包。(下载地址:https://www.360docs.net/doc/7c9618014.html,/sdk/installing/studio.html译者注) 2.安装Android Studio和SDK工具: Windows系统: 1.启动下载的EXE文件,android-studio-bundle-.exe。 2.按照安装向导安装AndroidStudio。

Maven配置

maven安装+maven本地仓库配置+maven镜像 1.安装maven前我们电脑上要确保安装了JDK1.6以上的版本 2.下载Maven Maven官网下载地址是https://www.360docs.net/doc/7c9618014.html,/download.html 下载apache-maven-3.2.5后,解压到你想要解压的地方 我本地解压到D:\Program Series\Tools\Apache-maven这个路径下 3.然后在配置maven的环境变量: MAVEN_HOME D:\Program Series\Tools\Apache-maven\3.2.5 PATH %MAVEN_HOME%bin

配置好以后环境变量以后,打开cmd窗口,输入mvn -v,如果出现以下内容就表示安装成功。 4.然后我们给maven添加本地的仓库地址 解压后的maven目录下找到conf目录,其中就会有一个setting.xml文件 我本地的地址是D:\Program Series\Tools\Apache-maven\3.2.5\conf 然后通过编辑器找到第53行,把注释去掉,修改成自己想要设置的本地仓库地址就可以了。我本地设置在maven的安装目录同级目录下 mvn文件夹的名字可以随便取,但是一定要确保设置的仓库地址是有效的地址,因为maven 是不会自动创建这个mvn文件夹的。 5.实验一下刚才做的事情产生作用没有,控制台输入: mvnhelp:system 如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了。Maven的安装配置和本地仓库地址的配置就已经结束了。 国内较快的maven镜像 国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用。 ====================国内OSChina提供的镜像,非常不错=================== CN OSChina Central https://www.360docs.net/doc/7c9618014.html,/content/groups/public/ central ======================================================== OSChina Maven 库使用帮助 ==================其他maven仓库镜像========================== repo2

联通宽带研发加计报告审计事项说明

联通宽带研发加计报告审计事项说明

————————————————————————————————作者: ————————————————————————————————日期:

附件3 研究开发费用加计扣除审计事项说明 一、企业基本情况? 联通宽带在线有限公司是由中国联合网络通信有限公司出资组建的,于2006年3月29日批准成立,企业法人营业执照注册号1156,法定代表人:左风,注册资本叁仟万元人民币。主要经营范围:许可经营项目: 因特网信息服务 业务(除新闻、出版、教育、医疗保健药品、医疗器械和BBS以外的内容); 第二类增值电信业务中的信息服务业务(不含固定网电话信息服务和互联网信 息服务)(增值电信业务经营许可证有效期至2017年06月15日)。 一般经营项目:数据库管理;开发计算机软件;销售自行开发的产品;电信网络设备代理;提供劳务服务(不含中介服务)。。 2011年取得高新技术企业资格,2014年已重新认定为高新技术企业。主 营产品(服务)所属技术领域为电子信息技术。贵公司2014年开展研究开发活 动有14项,为自主研发。现已取得北京市科学技术委员会出具的《企业研究开 发项目鉴定意见书》,鉴定认为该项目均符合企业研究开发项目相关文件规定的 条件。符合《国家重点支持的高新技术领域》第一大项“电子信息技术”中的 第(四)项通信技术。 二、研究开发活动立项及支出情况。 贵公司在2014年立项14个项目,其中: RD01:手机游戏支付插件。 本项目完全按照中国联通手机游戏支付插件的技术规范,主要实现用户处 理过程、加密过程、发送过程、接收过程及解密等功能。关健技术点: 1、与服务器通信安全:通信使用json数据传输,为了保证数据安全性和准 确性采用了AES,BASE64,MD5,SHA,RSA等多种加密协议。使用https通 信协议保证通信安全。 2、SDK安全:使用了ant,proguard进行SDK的混淆加密,并使用签 名验证和密钥传入机制对植入SDK的应用进行认证,同时使用多种方式对应用 的基础信息采集认证。

使用Eclipse构建Maven的Web项目

一、直接建立Maven项目方法 1,建立Maven项目 接下来使用Eclipse的maven构建一个web项目,以构建SpringMVC项目为例:1.1 选择建立Maven Project 选择File -> New -> Other,在New窗口中选择Maven -> Maven Project。点击newxt。 1.2 选择项目路径 Use default Workspace location默认工作空间。

1.3 选择项目类型 在Artifact Id中选择maven-archetype-webapp

1.4 输入Group ID和 Artifact ID,以及Package Group ID一般写大项目名称。Artifact ID是子项目名称。 例如Spring的web包,Group ID:org.springframework,artifactId:spring-web。 Package是默认给你建一个包,不写也可以。

1.5 刚建立好后的文件结构如下图 如果这里显示的内容多,一般是Filters设置的问题。或perspective为JavaEE模式,改成Java模式就可以了。

2,配置项目 接下来就需要更改好多配置了。 2.1 添加Source文件夹 接下来需要添加src/main/java,src/test/java ,src/test/resources三个文件夹。右键项目根目录点击New -> Source Folder, 建出这三个文件夹。注意不是建普通的Folder,而是Source Folder。

Maven源配置教程

Maven安装及基本使用 1、安装maven首先到maven官网下载maven安装包, Maven下载地址, 下载apache-maven-3.3.9-bin.zip文件 > 由于当前系统为windows, 所以下载apache-maven-3.3.9-bin.zip文件; 如果您使用的系统为unix类系统请下载apache-maven-3.3.9-bin.tar.gz文件 > > 注: 由于maven是依赖于jdk的, 所以在安装maven前需要提前准备好jdk环境。jdk的安装方式不是本文的重点, 所以本文不进行展开说明了。 右键解压apache-maven-3.3.9-bin.zip文件到当前目录中即可 >如果您使用的为unix环境, 以CentOS为例, 使用以下命令进行解压 tar -zxvf apache-maven-3.3.9-bin.tar.gz 到此maven已经安装完成。 为了之后使用方便,所以需要将maven添加到环境变量中, 配置方式: 右键 "我的电脑" -> 选择 "属性" -> 选择 "高级系统设置" -> 选择 "高级" 标签页 -> 选择 "环境变量" 在新打开的窗口中的"系统变量"中新建变量名为"MAVEN_HOME", 变量值为 maven解压后的路径, 例如: E:-maven-3.3.9 然后编辑环境变量PATH, 在PATH的环境变量值的尾部添加";%MAVEN_HOME%", 一路确认后即添加成功。注: windows中多个环境变量的值需要用";"分隔 unix系统中环境变量的配置方式, 以CentOS为例: 使用以下方式为当前用户添加maven的环境变量打开~/.bashrc文件并在文件末尾添加以下内容 vim ~/.bashrc MAVEN_HOME=/opt/apache-maven-3.3.9 PATH=$PATH:$MAVEN_HOME/bin export MAVEN_HOME PATH 保存并退出, 并使用下面的命令使新添加的环境变量立即生效

【IT专家】在Android Studio中将Android工程变为Library使用

本文由我司收集整编,推荐下载,如有疑问,请与我司联系在Android Studio 中将Android 工程变为Library 使用2017/03/14 8979 有时候网上会有些工程格式不是我们想要的Library 格式可以 直接给AS 使用。这时我们就需要将它移植到AS 上并将其变为库。 1. 将ADT 工程export 成gradle 可编译的工程。 2. 导入AS,保留src、res、manifest 和gradle 文件。 3. 将gradle 中的applyplugin:’com.android.application’改为library。 4. 删除其他文件,然后将工程放在需要依赖的工程的app 同级目录下。 5. 在setting.gradle 中include 库。 6. 在project structure 中添加依赖关系。 7. 完成依赖。 假如是AS 工程要变为library,则保留根目录的src 文件夹和build.gradle,删除 其他文件。 对照: apply plugin: ‘com.android.library’version= “1.1.0”// 版本号android { compileSdkVersion 23 buildToolsVersion “23”resourcePrefix “imgsel”defaultConfig { minSdkVersion 15 targetSdkVersion 23 versionCode 5 versionName “1.1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard- android.txt’),‘proguard-rules.pro’ } }}dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) } tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

(仓库管理)设置Maven组件库仓库

(仓库管理)设置Maven组件库仓库

设置Maven仓库 1. 介绍 Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven建议的方法是将所有软件构件存储于一个叫做repository的远程仓库中。 Maven会从https://www.360docs.net/doc/7c9618014.html,中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。通过设置内部Maven仓库,团队可以更有好地利用Maven仓库的优势并且克服使用ibiblio上的仓库时的缺点。 本文着眼于Maven仓库工具应提供的一些功能,列出了选择Maven仓库工具的标准,说明了使用Artifactory设置Maven仓库的相关步骤。在Linux和Windows 中设置Maven仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven仓库的使用有关的POM文件的范例,用截图来向用户阐述如何设置Maven仓库,Maven和artifactory配置范例也有列出。 1.1 背景知识 本文假定读者熟悉以下的概念和技术: ●Maven 2 ●J2EE web 服务器部署过程(e.g. 在Tomcat中部署Web应用程序) ●XML 1.2 Maven仓库的目的 Maven仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到版本控制系统中更有优势,这是因为: ●构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好 ●保持较小的版本控制数据库 ●Checkout、update和其他版本控制的操作可以更快 1.3 建立内部私有仓库的优势: ●减少可能的版本冲突 ●减少首次构建时需要的手动干涉

Android ProGuard实例教程

Android ProGuard实例教程 ?2011年7月7日10:31 ?来源:eoe ?我有话说(0) ? ? ProGuard工具通过移除不用的代码,用语义上混淆的名字来重命名类、字段和方法等手段来压缩、优化和混淆你的代码。结果是更小的.apk文件,并且更难于被反编译。由于ProGuard能够让你的程序难于被反编译,因此,当你的程序使用了一些机密的信息的时,使用它就显得更加重要。 ProGuard已经集成到Android的编译环境中,因此,用不着手动来触发它。ProGuard只在release模式下编译应用程序才会运行,所以,在debug模式下编译,你就不必处理混淆的代码。是否运行ProGuard是完全可选的,但强烈推荐使用。 启用ProGuard 当你创建Android工程时,proguard.cfg文件会在工程的根目录自动创建。这个文件定义了ProGuard如何优化和混淆代码,因此,理解如何定制它是非常重要的。默认的配置文件只是覆盖了一些通用的情况,所以,基本上你需要编辑它来满足你的需求。参考后面的“配置ProGuard”章节来了解如何定制ProGuard的相关信息。 启用ProGuard让它跟随Ant或Eclipse编译时一起运行,你需要在 /default.properties文件中设置proguard.config属性。路径可以是绝对路径或是工程根目录的相对路径。如果你把proguard.cfg文件放在默认的位置(工程的根目录),你可以像这样来指定它的位置: proguard.config=proguard.cfg 你还可以把该文件移到任何你想放的位置,然后指定绝对路径: proguard.config=/path/to/proguard.cfg 当你在release模式下编译你的程序,不管是用ant release还是用Eclipse 的导出向导,编译系统都会自动检查proguard.config属性是否设置。如果设置了,ProGuard就会在打包成.apk文件之前,自动处理应用程序的字节码。Debug 模式编译,不会触发ProGuard,因为它会使得调试更加复杂累赘。 ProGuard运行结束后,输出以下文件: dump.txt 描述.apk文件中所有类文件间的内部结构 mapping.txt 列出了原始的类,方法和字段名与混淆后代码间的映射。这个文件很重

eclipse maven 项目没有maven依赖仓库问题解决

eclipse maven 项目没有maven依赖仓库问题解决 之前是没有Maven Dependencies 这个文件夹仓库 解决办法: 添加箭头所指的配置到项目的classpath文件中

proguard使用指南

proguard混淆器使用指南 撰写人: 陈柏屹 项目ID : 001 撰写日期: 2009-06-30

内容 内容2 1.下载/安装 (3) 1.1.下载地址 (3) 1.2.启动proguard (3) 1.3.混淆器原理功能 (5)

1.下载/安装 1.1.下载地址 https://www.360docs.net/doc/7c9618014.html,/ 1.2.启动proguard 1.解压下载的proguard4.4beta3,解压后进入lib文件把proguard.jar拷贝到自己新建的文件夹里如图: 2.把需要混淆的jar和jar所依赖的包也放到新建的文件夹,都放在一起,如下图。 3.写一个配置文件,名称自己定,举个简单配置文件例子,内容如下,其中-injars:是你需要混淆的jar,-outjars:是你混淆后输出的jar,-libraryjars:是你混淆的jar需要所依赖的jar 包,后面的不在一一说明,可以参考proguard文档,配置文件可以参考文档来对自己混淆的需求来写配置文件。 -injars TheFirstDesktopApplication1.jar -outjars TheFirstDesktopApplication1_out.jar -libraryjars /lib/rt.jar -libraryjars appfram ework-1.0.3.jar -libraryjars swing-worker-1.1.jar -printmapping proguard.map

-overloadaggressively -defaultpackage '' -allowaccessmodification -dontoptimize -keep public class * { public protected *; } -keep public class org.** -keep public class it.** 4. 把配置文件保存到你建的文件夹下,如下图。 5.点击开始,运行,输入cmd,进入你建的文件夹下,如下图。 6. 然后输入命令语句:java -jar proguard.Jar @a 然后回车,如下图。

Maven项目开发环境搭建

JDK安装 Maven安装 Eclipse安装 ?Svn插件安装 ?Maven插件安装 JDK安装:版本1.5.0_06(小版本可忽略,建议保持一致) Maven安装:(参见Maven开发手册) 1、下载地址https://www.360docs.net/doc/7c9618014.html,/download.html 2、解压到D盘,D:\maven-3.0 3、在环境变量path中添加D:\maven-3.0\bin路径。 4、在命令行下输入: mvn –version,出现 说明安装正确。 Eclipse安装: 1、下载Eclipse IDE for Java EE Developers(3.6), 地址https://www.360docs.net/doc/7c9618014.html,/downloads/ 2、解压运行eclipse 3、安装svn插件 点击help->Install New Software… 点击Add…

输入插件名称(可任意输入)和插件地址https://www.360docs.net/doc/7c9618014.html,/update_1.6.x 点击OK 勾选列表框中插件,按照提示一直点击next即可安装完成。 4、安装maven插件 同上方法安装maven插件。 M2eclipse 地址:https://www.360docs.net/doc/7c9618014.html,/sites/m2e M2eclipse-extra地址:https://www.360docs.net/doc/7c9618014.html,/sites/m2e-extras 5、Checkout出项目源码; 1)、切换至SVN视图

2)、右键点击空白处:新建->资源库位置,输入大客户项目SVN地址信息 https://192.168.29.9:4443/oss/inms/福富集中网管系统/9_CODE(代码)/Trunk(开发主干)/大客户管理子系统/共通管理/1_trunk 3)、右键点击vcst, 选择Check out as maven project,按照提示直接next, 片刻后即可完成项目源码检出、项目构建。 4)、项目构建过程中需要下载部门maven仓库的jar包,请确认是否有连接权限提示:请确认现场是否有连接公司svn的权限,是否需要vpn key接入。 6、项目结构:

微信Android终端SDK新手使用指南

1.申请你的AppID 请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将获得AppID,可立即用于开发。但应用登记完成后还需要提交审核,只有审核通过的应用才能正式发布使用。 2.下载微信终端开发工具包 开发工具包主要包含3部分内容:(其中,只有libammsdk.jar是必须的) libammsdk.jar(每个第三方应用必须要导入该sdk库,用于实现与微信的通信) API文档(供开发者查阅使用) 界面小工具源码(封装了界面表现的工具类,以及一些界面风格) 下载: Android平台开发工具包 3.搭建开发环境 [1] 在Eclipse中建立你的工程。 [2] 在工程中新建一个libs目录,将开发工具包中libs目录下的libammsdk.jar复制到该目录中(如下图所示,建立了一个名为SDK_Sample 的工程,并把jar包复制到libs目录下)。 [3] 右键单击工程,选择Build Path中的Configure Build Path...,选中Libraries这个tab,并通过Add Jars...导入工程libs目录下的libammsdk.jar文件。(如下图所示)。

在你需要使用微信终端API的文件中导入相应的类。 import com.tencent.mm.sdk.openapi.WXTextObject; 4.在代码中使用开发工具包 [1] 注册到微信 要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。(如下图所示,可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用id注册到微信。注册函数示例如下图所示。 [2] 发送请求或响应到微信 现在,你的程序要发送请求或发送响应到微信终端,可以通过IWXAPI的 sendReq 和sendResp 两个方法来实现。 boolean sendReq(BaseReq req); sendReq是第三方app主动发送消息给微信,发送完成之后会切回到第三方app界面。

设置maven组件库仓库

设置Maven 仓库 1. 介绍 Maven 是Java 开发者中流行的构建工具,Maven 的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven 建议的方法是将所有软件构件存储于一个叫做repository 的远程仓库中。 Maven 会从https://www.360docs.net/doc/7c9618014.html, 中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。通过设置内部Maven 仓库,团队可以更有好地利用Maven 仓库的优势并且克服使用ibiblio 上的仓库时的缺点。 本文着眼于Maven 仓库工具应提供的一些功能,列出了选择Maven 仓库工具的标准,说明了使用Artifactory 设置Maven 仓库的相关步骤。在Linux 和Windows 中设置Maven 仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven 仓库的使用有关的POM 文件的范例,用截图来向用户阐述如何设置Maven 仓库,Maven 和artifactory 配置范例也有列出。 1.1 背景知识本文假定读者熟悉以下的概念和技术: Maven 2 J2EE web服务器部署过程(e.g.在Tomcat中部署Web应用程序) XML 1.2 Maven 仓库的目的 Maven仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到 版本控制系统中更有优势,这是因为: 构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好 保持较小的版本控制数据库 Checkout、update 和其他版本控制的操作可以更快 1.3 建立内部私有仓库的优势: 减少可能的版本冲突减少首次构建时需要的手动干涉中央仓库包含所有依赖的软件构件,引用单一的中央仓库比引用多个独立的本地库要好使用内部仓库做clean

读懂Android中的代码混淆

读懂Android中的代码混淆 本文为本人的一些实践总结,介绍一些混淆的知识和注意事项。希望可以帮助大家更好的学习和使用代码混淆。 作者:技术小黑屋来源:知乎|2017-03-02 13:05 收藏 分享 本文为本人的一些实践总结,介绍一些混淆的知识和注意事项。希望可以帮助大家更好的学习和使用代码混淆。 什么是混淆 关于混淆维基百科上该词条的解释为 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。 代码混淆影响到的元素有 ?类名 ?变量名 ?方法名 ?包名 ?其他元素 混淆的目的 混淆的目的是为了加大反编译的成本,但是并不能彻底防止反编译. 如何开启混淆

?通常我们需要找到项目路径下app目录下的build.gradle文件 ?找到minifyEnabled这个配置,然后设置为true即可. 一个简单的示例如下 1. buildTypes { 2. 3. release { 4. 5. minifyEnabled true 6. 7. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguard是什么 Java官网对Proguard的定义 ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or higher, or for Java Micro Edition. ?Proguard是一个集文件压缩,优化,混淆和校验等功能的工具 ?它检测并删除无用的类,变量,方法和属性 ?它优化字节码并删除无用的指令. ?它通过将类名,变量名和方法名重命名为无意义的名称实现混淆效果. ?最后它还校验处理后的代码 混淆的常见配置 -keep Keep用来保留Java的元素不进行混淆. keep有很多变种,他们一般都是 ?-keep ?-keepclassmembers ?-keepclasseswithmembers 一些例子 保留某个包下面的类以及子包 1. -keep public class https://www.360docs.net/doc/7c9618014.html,.widget.** 保留所有类中使用otto的public方法

关于maven导包的一些注意事项

在初次使用Maven项目时,大家总会遇到一系列的问题,在这里,我列出一下几点注意事项: 需求工具:Eclipse、maven配置包 1.首先你的Eclipse版本得支持maven的配置 打开自己的Eclipse 以此点击Window—》Preferences(如图1.1) 图1.1 弹出以下窗口,按照提示依次点击 图1.2 如果打开以上窗口(如图1.2),没有看见图中第一个框,证明你的Eclipse版本不支持maven插件,请去官网下载最新版本的Eclipse 第三步点完之后,弹出的框,找到自己电脑上的maven配置包(如图1.3)

图1.3 进入maven配置包之后点击conf文件夹,找到“settings.xml”(如图1.4) 图1.4 点击打开之后,如图所示

图1.5 按照途中的步骤操作,点OK之后,就证明的你的Eclipse成功配置好了maven(如图1.5) 接下来是导包过程中需要注意的一些问题 首先创建一个maven项目(如图2.1) 图2.1 正确的maven项目 错误的maven项目 双击打开pom.xml文件,点击:Dependencies(如图2.2)

图2.2 点击图中第2部,弹出上图中的对话框,在第3步的位置输入你想要导入的jar包,当页面右下角出现图2.3所标出的进度,表示正在在线搜索jar包,请耐心等待 2.3 如图2.4中出现了很多jar包,选中你所想要导入的jar包,点OK

图2.4 这就成功导入了jar包 接下来提供几个导包不成功的解决方案: 1.创建maven项目时报错:plugin: 2.6(如图 3.1) 图3.1 解决方案:找到自己电脑C/用户(User)下的.m2文件,将解压缩到当前位置,覆盖电脑原本的.m2文件,然后按照如下步骤操作(如图3.2): 图3.2

(精品仓库管理)设置Maven组件库仓库

(精品仓库管理)设置Maven组件库 仓库

设置Maven仓库 1.介绍 Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven建议的方法是将所有软件构件存储于一个叫做repository的远程仓库中。 Maven会从https://www.360docs.net/doc/7c9618014.html,中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。通过设置内部Maven仓库,团队可以更有好地利用Maven仓库的优势并且克服使用ibiblio上的仓库时的缺点。 本文着眼于Maven仓库工具应提供的一些功能,列出了选择Maven仓库工具的标准,说明了使用Artifactory设置Maven仓库的相关步骤。在Linux和Windows 中设置Maven仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven仓库的使用有关的POM文件的范例,用截图来向用户阐述如何设置Maven仓库,Maven和artifactory配置范例也有列出。 1.1背景知识 本文假定读者熟悉以下的概念和技术: ●Maven2 ●J2EEweb服务器部署过程(e.g.在Tomcat中部署Web应用程序) ●XML 1.2Maven仓库的目的 Maven仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到版本控制系统中更有优势,这是因为: ●构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好 ●保持较小的版本控制数据库 ●Checkout、update和其他版本控制的操作可以更快 1.3建立内部私有仓库的优势: ●减少可能的版本冲突 ●减少首次构建时需要的手动干涉 ●中央仓库包含所有依赖的软件构件,引用单一的中央仓库比引用多个独立的本地库要好 ●使用内部仓库做clean构建时会快些,因为Maven构件是从内部服务器而不是从因特网上的ibiblio服务器获取。 1.4Maven构件库的类型 ●本地仓库——位于开发者的机器,由开发者维护,它从位于‘~home/.m2’目录的‘settings.xml’文件中定义的Maven仓库上同步,如果在pom.xml或 setting.xml文件中没有设置内部私有远程仓库,那么开发者机器上的这个本地仓库就会从https://www.360docs.net/doc/7c9618014.html,上的公用Maven仓库上同步。 ●内部私有远程仓库——这是我们将要设置的仓库,我们将改变maven的pom.xml或settings.xml文件来使用这个库。

相关文档
最新文档