1、有米去除 smail 代码invoke-virtual {v2, v0, v1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
2、菜单删除 直接删除invoke-interface {p1, v1, v3, v3, v0}, Landroid/view/Menu;->add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
3、添加一些信息 <PreferenceCategory android:title="汉化信息及免责声明"> <Preference android:summary="本汉化软件仅为技术共享等制作,作品不用于任何商业目的,如果您喜爱此APP,请支持正版!" /> <PreferenceScreen android:layout="@layout/about_logo" android:key="about_logo"> <intent android:action="android.intent.action.VIEW" android:data="http://bbs.hiapk.com" /> </PreferenceScreen> </PreferenceCategory><PreferenceCategory android:title="汉化信息"> <PreferenceScreen android:title="安智汉化组 Tomi汉化" android:summary="主页:http://www.anzhi.com\n论坛:http://bbs.anzhi.com"> <intent android:action="android.intent.action.VIEW" android:data="http://bbs.anzhi.com" /> </PreferenceScreen> </PreferenceCategory>
4、安 沃去广告重点 http://r2.adwo.com/adweb http://r2.adwo.com/adfs解开apk,搜索所有文件里的http:字样(用UltraEdit搜),带ad字样的多半是广告链接,用空符替换,比如“http://ad.***”就改成“”就阻止了广告联网了,此时广告控件仍在,只是没内容。然后在manifest.xml里删除Adview控件那几行代码。空白控件就不会出现了。貌似有所谓的广告杀手软件能干这事,没试过。还有些广告是自定义的,并未使用adview,这种有的直接“http://ad.***”就改成“”后就可能不再显示了,不过只是少数。另外那些软件手动去广告很麻烦的。
5、对话框反编译apk,在.method public onCreate(Landroid/os/Bundle;)V (即窗口创建子程序 一般在AndoroidMainfest.xml中会有声明)下添加以下代码即可const-string v0, "这里是弹出的提示" const/4 v1, 0x1 invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; move-result-object v0invoke-virtual {v0}, Landroid/widget/Toast;->show()V复制代码说明:a. const-string v0, "这里是弹出的提示",字串常量,对应Toast.makeText(EX05_01.this ,"Toast", Toast.LENGTH_LONG).show();的第二个参数。b. const/4 v1, 0x1 16进制,对应Toast.LENGTH_LONG常量c. invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText,调用. makeText()方法, 这个很重要了d. move-result-object v0 调用结果返回值为v0e. invoke-virtual {v0}, Landroid/widget/Toast;->show()V 调用show()方法
6、网址跳转 .line 15 new-instance v0, Landroid/content/Intent; // 这里是定义Intent 对象 const-string v1, "android.intent.action.VIEW" // 这个是设置Intent的Action_View .line 16 const-string v2, "http://bbs.urenkz.com" // 这里为网页地址,http:// 大家都懂 invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; // 这里是用URI把链接转义 move-result-object v2 .line 15 invoke-direct {v0, v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V // 这里为实例化一个跳转的intent对象,v0,v1,v2 ,v0是对象,v1,v2是参数 .line 17 .local v0, intent:Landroid/content/Intent; const-string v1, "com.android.browser" // 这是系统浏览器的包名 .line 18 const-string v2, "com.android.browser.BrowserActivity" // 系统浏览器的主类,也就是启动类 .line 17 invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; //把设置好的v1,v2,用对象v0设置好ClassName .line 19 invoke-virtual {p0, v0}, Lcom/tencent/pao/BreezeGame;->startActivity(Landroid/content/Intent;)V // 这里是关键,启动跳转, Lcom/tencent/pao/BreezeGame 这个要替换成你项目的smali 的反编译格式的包路径</span>