技术标签: android 混淆 内部接口
8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
最近项目使用proguard的一些心得记录一下。AS新建时默认就是用proguard做代码混淆
新建默认就这样的1
2
3
4
5
6
7buildTypes {
release {
minifyEnabled false
proguardFiles ('proguard-android.txt'), 'proguard-rules.pro'
}
}
minifyEnabled true表示混淆
proguard-android.txt是sdk下groguard默认的文件,具体地址在:android-sdk/tools/proguard/proguard-android.txt
proguard-rules.pro就是AS下需要配制文件,默认在项目app根目录下
当修改minifyEnabled true时,必须配制signingConfigs打包key文件,否则会报错,配制如下:1
2
3
4
5
6
7
8
9
10
11
12signingConfigs {
debug {
storeFile file("C:/Users/51/.android/debug.keystore")
}
release{
keyAlias 'xxxx'
keyPassword '123456'
storeFile file('E:/key/xxxx.keystore')
storePassword 'xxxxx'
}
}
debug测试时对应key路径,release正常打包需要的
好的,下面讲下proguard-rules.pro主要配制及我遇到问题,这个网上比较多1-keep public class * extends android.app.Service
keep 保持不变意思,如上面继承service类都不需要混淆1
2
3
4# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
native ;
}
保持enum类不被混淆1
2
3
4
5# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
保持内部类不被混淆1
2
3
4
5
6
7
8
9
10#-keep class **$* { *;}
-keepnames class com.zcm.mobile.money.*$* {
public ;
public ;
}
-keepnames class com.zcm.mobile.money.fragment.*$* {
public ;
public ;
}
json类的包或者orm类的包可能会报错,解析时1
2
3-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
保持内部接口不被混淆1
2
3
4
5
6-keep class com.android.app.** implements com.android.app.Platform$ICallback{*;}
-keep class android.support.v4.app.**{ *; }
-keep interface android.support.v4.app.**{ *; }
-keep class com.actionbarsherlock.**{ *; }
-keep interface com.actionbarsherlock.**{ *; }
第三方如universal-image-loader1
2
3
4
5
6
7
8
9-keep class com.nostra13.** {*;}
#-libraryjars libs/gson-2.3.jar
-keep class com.google.** {*;}
-dontwarn com.google.**
#-libraryjars libs/fastjson-1.2.5.jar
-keep class com.alibaba.** { *; }
-dontwarn com.alibaba.**
#也有jpush这个一般官网都有说明,它们官网已经混淆过的,所以我们不需要再混淆了否则就报错1
2
3#-libraryjars libs/jpush-sdk-release1.7.5.jar
-keep class cn.jpush.** { *; }
-dontwarn cn.jpush.**
也有打包时会报一些奇怪错误如
自己写的库,[email protected],不需要libs吧都去掉
否则有些代码被混淆了找不到references
ok,混淆成功后代码就这样的,所有方法,参数都用a,b,c表示
声明
由于互联网数据的分享性,如果我发表的文章,来源于您的原创文章,且我没有注明,[email protected]
欢迎转载,但请注明文章原始出处。
作者:foobean
出处:http://foobean.com/
ggplot2使用的基本框架 下面逐一介绍 1.data data是我们需要可视化的数据,在学习中,我们经常使用R语言自带的diamonds和flights数据源。在data框的范围我们也可以使用mapping(映射),在data框范围使用的属性在后面镶嵌的图层中为默认属性。exampleggplot(data=mpg,mapping=aes(y=hwy,x=class))+ ...
HarmonyOS入门宝典是一套由 HarmonyOS 技术社区根据 HarmonyOS 官方相关资料进行整理的教程,HarmonyOS 系统,分布式数据管理,技术架构,应用基础知识,应用权限管理,开发指导,语法规范,调用等等。这里也将宝典的主要篇目介绍如下。入门:本章节包含了对 HarmonyOS 的基础概述,开发基础知识,以及简单的入门讲解,可以让大家对鸿蒙进行基础的了解。开发:本章节分别对 ...
onresize事件会在窗口或框架被调整大小时发生。语法In HTML:<elementonresize="SomeJavaScriptCode">JavaScript 中:window.onresize=function(){SomeJavaScriptCode};jQuery中:$(window).resize(function(){ //code});详情可查看:https://www.runoob.com/jsref/event-...
一 HTML简介1.HTML是什么?HTML:HyperTest Markup Language超文本标记(标签)语言有多种标签组成,用来制作网页,告浏览器该如何显示页面2.HTML语言的作用?制作网页,控制网页内容的显示插入图片.音乐。视频。动画等多媒体通过连接检索信息使用表单获取用户信息,实现交互3.版本W3c:World wide web consortium万维网联...
from keras import bacend as ksess = K.get_session() frozen_graph_def = tf.graph_util.convert_variables_to_constants(sess,sess.graph_def,output_node_names=["output"])tf的node的name通过[tensor.name...
搜索引擎接口测试。业务接口返回6000-9000个字段搜索接口查了7个搜索链路业务接口传参加上调试信息后的接口返回43846个字段测试需求:选取某一天人物的query,标识出同时出type=12及type=3的query,计算同时出现的概率,另外把同时出的query给出来,分析使用query选取:人物top1000 跟随机1000QA测试设计:去FBI捞取top1000个人物query+任意1000个人物query。读取引擎接口,判断response返回JSONObject.
1)在www.kernel.org上下载:arm-linux-gnueabi-5.4.0.tar.xz2)把arm-linux-gnueabi-5.4.0.tar.xz存放 /mnt/hgfs。。。。,然后在拷贝到家目录: 命令:cp arm-linux-gnueabi-5.4.0.tar.xz ~ 3)自己进入家目录,进行解压arm-linux-gnueabi-5.4.0.tar.xz,注意:要解压到根目录/ arm-linux-gnueabi-5.4.0.tar.xz解...
封装类主要是为了以后调用起来较为方便:类名叫做DBDA.class.php在www下的test0506下,以后引用是特别要注意,特别是不在同一级下的引用。一:只有一个条件的查询类:DBDA.class.php<?phpclass DBDA{ public $host = "localhost";//数据库地址 public $uid = "root";//...
最近在学习自己制作CPU 需要进行再Linux系统上进行GNU工具的使用,汇总了一些自己遇到的问题和用到的指令,大部分是在别处看到的,贴贴剪剪,希望对大家有帮助。安装虚拟机大家进行百度吧,我不建议大家装个双系统,我觉得没有虚拟机好用。装机的话:推荐软件安装管家公众号进行安装设置共享文件夹:1、The command could not be located because '/us...
使用到期之后二、硬件实现1.需要的材料2.对发射模块电路进行修改3.STM32 GPIO选择三、代码实现1.载波38kHZ实现2.R05D时序实现3.调用函数并验证一、设计思路通常红外遥控采用NEC传输协议,而美的空调采用的是R05D红外协议(应该是自己设计的协议),因此用一般红外编码发射模块无法直接对空调进行控制。解决方法:获取R05D协议手册 + 用红外接收管对原有遥控器红外接收进行波形分析。一、R05D红外协议原理R05D电控功