java 前后的区别_混淆前后的区别

news/2024/7/24 6:16:09 标签: java 前后的区别

源码

publicclassPhoneActivityextendsActivity {

private EditText dt_number = null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);//加载指定的布局

Button bt_dail = (Button) findViewById(R.id.bt_dail);

dt_number = (EditText) findViewById(R.id.et_number);

bt_dail.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

String number = dt_number.getText().toString().trim();//获取号码

if (TextUtils.isEmpty(number)) {//如果号码为空

Toast.makeText(PhoneActivity.this, "号码不能为空!", Toast.LENGTH_SHORT).show();//土司

return;//结束方法

}

Intent intent = new Intent();//意图

intent.setAction(Intent.ACTION_CALL);//为意图设置事件,注意要在清单文件中注册权限

intent.setData(Uri.parse("tel:" + number));//事件的数据

startActivity(intent);//执行

}

});

}}

未混淆,从APK中提取出的源码

和源码的区别:①注释全去掉了;②结构基本不会变;③变量名可能会被更改;

20180110184529280422.png

publicclassPhoneActivityextendsActivity {

private EditText dt_number = null;

public void onCreate(Bundle paramBundle) {

super.onCreate(paramBundle);

setContentView(2130903040);

Button localButton = (Button) findViewById(2131034113);

this.dt_number = ((EditText) findViewById(2131034112));

localButton.setOnClickListener(new View.OnClickListener() {

public void onClick(View paramView) {

String str = PhoneActivity.this.dt_number.getText().toString().trim();

if (TextUtils.isEmpty(str)) {

Toast.makeText(PhoneActivity.this, "号码不能为空!", 0).show();

return;

}

Intent localIntent = new Intent();

localIntent.setAction("android.intent.action.CALL");

localIntent.setData(Uri.parse("tel:" + str));

PhoneActivity.this.startActivity(localIntent);

}

});

}}

混淆后,从APK中提取出的源码

和没混淆的区别:①结构会有很大变化;②变量名会被更改;

20180110184529297023.png

publicclassPhoneActivityextendsActivity {

private EditText a = null;

public void onCreate(Bundle paramBundle) {

super.onCreate(paramBundle);

setContentView(2130903040);

Button localButton = (Button) findViewById(2131034113);

this.a = ((EditText) findViewById(2131034112));

localButton.setOnClickListener(new a(this));

}

}

这是衍生出来的一个类

finalclassaimplementsView.OnClickListener {

a(PhoneActivity paramPhoneActivity) {

}

public final void onClick(View paramView) {

String str = PhoneActivity.a(this.a).getText().toString().trim();

if (TextUtils.isEmpty(str)) {

Toast.makeText(this.a, "号码不能为空!", 0).show();

return;

}

Intent localIntent = new Intent();

localIntent.setAction("android.intent.action.CALL");

localIntent.setData(Uri.parse("tel:" + str));

this.a.startActivity(localIntent);

}}


http://www.niftyadmin.cn/n/1306639.html

相关文章

FusionCharts使用问题及解决方法(一)-FusionCharts常见问题大全

FusionCharts使用问题及解决方法(一) 如果你无法看到任何图表: 如果浏览器中的进度条一直加载,或者右键菜单显示 "Movie not loaded",请检查下列内容: 1、是否已将SWF图表和JavaScript文件(FusionCharts.js, FusionCh…

java如何实现udp连接_Java 实现Socket,和UDP连接的一个样例

【socket】import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.net.UnknownHostException;public class…

dreamhost 好用吗_在Dreamhost上安装ExifTool

dreamhost 好用吗ExifTool looks like a very promising tool to fiddle with all sorts of JPEG metadata (needed for smush.it) but first I had to make sure I can install it on Dreamhost. Although installation didnt go as described on the exiftool site (since I …

FusionCharts使用问题及解决方法(二)-FusionCharts常见问题大全

FusionCharts使用问题及解决方法(二) 如何启用JavaScript调试模式? 要启用JavaScript调试模式,你将需要写下面的几行代码: FusionCharts.debugMode.enabled(true); 此外,你还需要指定"debugMode" 输出的位置。如果你…

mdb使用_使用MDB2进行性能调优

mdb使用This is a follow-up to Lars comment about the PEAR book. In the MDB2 chapter I showed an example how you can create custom debug handlers in MDB2 and then gave a suggestion about a useful application of this functionality for performance tuning. Bas…

mac 10.13 安装 java7_【精华】MacOS 10.13.2 环境下安装eclipse

一、安装jdk下载jdk安装包 我下的是1.8 在这个甲骨文官网上下载网址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(安装Eclipse前先确认你的Mac上是否已安装java运行环境。进入终端,输入”java -version”&a…

FusionCharts使用问题及解决方法(三)-FusionCharts常见问题大全

FusionCharts使用问题及解决方法(三) 当HTML、SWF和JavaScript文件在同一个文件夹中时, FusionCharts工作正常,但是如果它们被放到不同的文件夹中,FusionCharts无法正常工作? 你需要注意以下几点: 1、如果你从另外一…

java30天速成_Java学习第30天

1.使用throws抛出异常(1)声明抛弃异常是在一个方法声明中的throws子句中指明的。(2)形式:[修饰符] 返回类型 方法名(参数1,参数2,...) throws 异常列表{}(3)throws字句中同时可以指明多个异常,说明方法将不对这些异常进行处理,而是声明抛弃它…