关于手机版编辑器aide的问题

关于手机版编辑器aide的问题,第1张

AIDE是一个Android Java集成开发环境,可以让你在Android系统内进行Android软件和游戏的开发。它不仅仅是一个编辑器,而是支持编写-编译-调试运行整个周期,开发人员可以在Android手机或者平板机上创建新的项目,借助功能丰富的编辑器进行代码编写,支持实时错误检查、代码重构、代码智能导航、生成apk,然后直接安装进行测试。

这款软件还完全兼容现有的eclipse项目,只需要将源代码复制到你的设备中然后打开,你就可以继续开始进行代码工作。

自带三个范例,第一个就是你所需要的,第二个是俄罗斯方块,第三个是桌面时钟。显示文字和简单的就是在Layout中的main添加textview和imageview控件具体看范例,我就是通过这个了解安卓开发的

AIDE(Android Java IDE)是一个能够在Android设备上直接开发Android应用的集成开发环境(IDE)。AIDE支持完整的应用开发流程(编码 - 编译 - 运行):使用功能丰富的编辑器编写代码,包括代码自动补全完成,实时的错误检查,重构和智能的程序代码导览。

AIDE完全兼容你已有的Eclipse项目。你只需将源代码复制到你的Android设备,打开AIDE,加载任意的源代码文件,然后开始你的编码之旅。

本文详细介绍了如何反编译一个未被混淆过的Android APK,修改smali字节码后,再回编译成APK并更新签名,使之可正常安装。破译后的apk无论输入什么样的用户名和密码都可以成功进入到第二个Activity。

有时难免要反编译一个APK,修改其中的若干关键判断点,然后再回编译成一个全新的可用的apk,这完全是可实现的。若要完成上述工作,需要以下工具,杂家后面会把下载链接也附上。这些软件截止本文发布时,经过杂家确认都是最新的版本。

1APK-Multi-Toolv1011zip 用它来反编译apk,得到smali类型的源码和资源文件。一般来讲,直接解压缩一个apk也可以看到其资源文件,但部分xml是不可阅读的,需用此工具反编译。网上流传较广的是一个经过高人汉化过的版本103,第一次使用这个工具可以用这个汉化的版本,熟悉其命令。但经过杂家测试,这个汉化的版本再回编译apk签名时已经出问题了,签不了,最终用的最新版才ok。

2dex2jar-00915zip 用于将一个apk文件转换成jar类型的文件,转换之后再利用下面的jd-gui工具才能看到其java代码。上面的apk-tool固然强大,但是反编译出来是smali文件,即dalvik字节码,类似汇编语言的一种代码,直接阅读如天书一样,为此我们需要使用dex2jar + jd-gui来得到其java代码,进行阅读找到要修改的关键点。

3jd-gui-036windowszip 可以打开一个jar类型的文件,看到java代码。并能将代码保存,保存后再弄到sourceinsight里就方便看了。最好使用本文所说的最新版本,使用老版本会发现一个BActivity,如果里面有内部类,则又多出一个BActivity$1java,类似这种文件。新版本没这个问题。

4Smali2Java100558zip 用于将smali文件转成java文件,这个工具仅仅是备用。因为用上面三个工具已经能够胜任本文的要求了。

如果第一次接触反编译,不了解smali语法,可以阅读链接1 链接2

下面杂家先上一个Android APK,用来简单模拟用户登录的情况,注意只能是模拟哈。因为正式的apk很少有在本地进行判断的。此apk要求用户输入用户名和密码,如果用户名为yanzi,密码为123,则认为合法,自动跳转到第二个Activity。否则提示用户名或密码不正确。

<span style="font-family:Comic Sans MS;font-size:18px;">package orgyanzidecomdemoactivity;

import orgyanzidecompiledemoR;

import androidappActivity;

import androidcontentIntent;

import androidosBundle;

import androidviewMenu;

import androidviewView;

import androidwidgetButton;

import androidwidgetEditText;

import androidwidgetToast;

public class LoginActivity extends Activity {

EditText loginName = null;

EditText loginPswd = null;

Button loginBtn = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutactivity_login);

initUI();

loginBtnsetOnClickListener(new ViewOnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if(isAllowLogin()){

Intent intent = new Intent(LoginActivitythis, SecondActivityclass);

startActivity(intent);

LoginActivitythisfinish();

}

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present

getMenuInflater()inflate(Rmenulogin, menu);

return true;

}

private void initUI(){

loginName = (EditText)findViewById(Ridedit_login_name);

loginPswd = (EditText)findViewById(Ridedit_login_pswd);

loginBtn = (Button)findViewById(Ridbtn_login);

}

private boolean isAllowLogin(){

String name = loginNamegetText()toString()trim();

String pswd = loginPswdgetText()toString()trim();

if(name != null && pswd != null){

if(nameequals("") || pswdequals("")){

ToastmakeText(this, "密码或用户名不能为空", ToastLENGTH_SHORT)show();

return false;

}

}

if(nameequals("yanzi") && pswdequals("123")){

return true;

}else{

ToastmakeText(getApplicationContext(), "用户名或密码不符", ToastLENGTH_SHORT)show();

}

return false;

}

}

</span>

附上出处链接:>

以上就是关于关于手机版编辑器aide的问题全部的内容,包括:关于手机版编辑器aide的问题、安卓aide不能保存源码、Java IDE(AIDE)有什么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9561679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存