android smali入门之HelloWorld
2016-03-04 12:36
381 查看
编写HelloWorld.smali文件:
然后运行命令:
java -jar smali.jar -o classes.dex HelloWorld.smali
将classes.dex压缩成HelloWorld.zip文件
使用命令上传至Android手机的/sdcard/目录下
adb push HelloWorld.zip /sdcard
使用adb shell命令登陆手机,运行程序
dalvikvm -cp HelloWorld.zip HelloWorld
java -jar smali.jar -o classes.dex HelloWorld.smali
java -jar smali.jar -o classes2.dex HelloWorld2.smali
将classes.dex压缩成HelloWorld.zip文件
adb push HelloWorld.zip /mnt/sdcard/
adb shell dalvikvm -cp /mnt/sdcard/HelloWorld.zip HelloWorld
adb push HelloWorld2.zip /mnt/sdcard/
adb shell dalvikvm -cp /mnt/sdcard/HelloWorld2.zip HelloWorld2
.class public LHelloWorld; .super Ljava/lang/Object; .method public static main([Ljava/lang/String;)V .registers 2 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; const-string v1, "Hello World!" invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V return-void .end method
然后运行命令:
java -jar smali.jar -o classes.dex HelloWorld.smali
将classes.dex压缩成HelloWorld.zip文件
使用命令上传至Android手机的/sdcard/目录下
adb push HelloWorld.zip /sdcard
使用adb shell命令登陆手机,运行程序
dalvikvm -cp HelloWorld.zip HelloWorld
.class public LHelloWorld; .super Ljava/lang/Object; .method public static main([Ljava/lang/String;)V .registers 4 .prologue #空指令 nop nop nop nop #数据定义指令 const/16 v0, 0x8 const/4 v1, 0x5 const/4 v2, 0x3 #数据操作指令 move v1, v2 #数组操作指令 new-array v0, v0, [I array-length v1, v0 #实例操作指令 new-instance v1, Ljava/lang/StringBuilder; #方法调用指令 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V #跳转指令 if-nez v0, :cond_0 goto :goto_0 :cond_0 #数据转换指令 int-to-float v2, v2 #数据运算指令 add-float v2, v2, v2 #比较指令 cmpl-float v0, v2, v2 #字段操作指令 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; const-string v1, "Hello World" #构造字符串 #方法调用指令 invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V #返回指令 :goto_0 return-void .end method
java -jar smali.jar -o classes.dex HelloWorld.smali
java -jar smali.jar -o classes2.dex HelloWorld2.smali
将classes.dex压缩成HelloWorld.zip文件
adb push HelloWorld.zip /mnt/sdcard/
adb shell dalvikvm -cp /mnt/sdcard/HelloWorld.zip HelloWorld
adb push HelloWorld2.zip /mnt/sdcard/
adb shell dalvikvm -cp /mnt/sdcard/HelloWorld2.zip HelloWorld2
相关文章推荐
- android仿ListView By ViewGroup麻烦大牛帮忙 优化下
- andriod 资源文件的分类和作用
- android 颜色管理
- 应用跳转问题(android4.2和4.4区别)
- android通用listview和gridview万能适配器实现的两种方式
- Android学习笔记----在一个应用程序中启动另一个应用程序
- Java/Android中线程池的应用
- Android中的IPC方式-Messenger
- Android如何通过手机自动获取短信验证码
- Android程序猿必看之《终端应用开发指南》
- Android自绘字体大小paint.settextsize随分辨率大小变化
- Android 版本更新
- Android实现自动填写获取验证码功能
- Android-FloatingActionButton
- Android-FloatingActionButton
- RES相关,Android支付相关记录
- android adb 连接手机出问题
- Android事件处理
- Android binder : 参考图
- Android Binder: Communication Mechanism of Android Processes