微信反编译修改打包
‘壹’ Android应用开发,微信下方四个按钮切换是怎么实现的
反编译了微信5.0 main_tab.xml的布局
<?xmlversion="1.0"encoding="utf-8"?>
<TabHostandroid:id="@id/tabhost"android:layout_width="fill_parent"android:layout_height="fill_parent"
xmlns:android="
<FrameLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent">
<LinearLayoutandroid:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent">
<FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="fill_parent"android:layout_height="0.0dip"android:layout_weight="1.0"/>
<TabWidgetandroid:id="@android:id/tabs"android:visibility="gone"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="0.0"/>
<LinearLayoutandroid:gravity="bottom"android:layout_gravity="bottom"android:orientation="horizontal"android:id="@id/main_tab_group"android:background="@drawable/mmfooter_bg"android:paddingTop="2.0dip"android:layout_width="fill_parent"android:layout_height="wrap_content">
<FrameLayoutandroid:background="@null"android:layout_width="0.0dip"android:layout_height="fill_parent"android:layout_weight="1.0">
<LinearLayoutandroid:gravity="bottom|center"android:layout_width="fill_parent"android:layout_height="fill_parent">
<RadioButtonandroid:id="@id/main_tab_weixin"android:checked="true"android:text="@string/main_title"android:drawableTop="@drawable/tab_weixin"style="@style/MMTabButton"/>
</LinearLayout>
<LinearLayoutandroid:gravity="top|right|center"android:paddingRight="10.0dip"android:layout_width="fill_parent"android:layout_height="fill_parent">
<TextViewandroid:textSize="10.0dip"android:textColor="@color/white"android:gravity="center"android:id="@id/main_tab_unread_tv"android:background="@drawable/tab_unread_bg"android:visibility="invisible"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@null"/>
</LinearLayout>
</FrameLayout>
<FrameLayoutandroid:background="@null"android:layout_width="0.0dip"android:layout_height="fill_parent"android:layout_weight="1.0">
<LinearLayoutandroid:gravity="bottom|center"android:layout_width="fill_parent"android:layout_height="fill_parent">
<RadioButtonandroid:id="@id/main_tab_address"android:text="@string/main_contact"android:drawableTop="@drawable/tab_address"style="@style/MMTabButton"/>
</LinearLayout>
<LinearLayoutandroid:gravity="top|right|center"android:paddingRight="10.0dip"android:layout_width="fill_parent"android:layout_height="fill_parent">
<TextViewandroid:textSize="10.0dip"android:textColor="@color/white"android:gravity="center"android:id="@id/main_tab_fmessage_unread_tv"android:background="@drawable/tab_unread_bg"android:visibility="invisible"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@null"/>
</LinearLayout>
</FrameLayout>
<FrameLayoutandroid:background="@null"android:layout_width="0.0dip"android:layout_height="fill_parent"android:layout_weight="1.0">
<LinearLayoutandroid:gravity="bottom|center"android:layout_width="fill_parent"android:layout_height="fill_parent">
<RadioButtonandroid:id="@id/main_tab_find_friend"android:text="@string/main_addcontact"android:drawableTop="@drawable/tab_find_frd"style="@style/MMTabButton"/>
</LinearLayout>
<LinearLayoutandroid:gravity="top|right|center"android:paddingRight="10.0dip"android:layout_width="fill_parent"android:layout_height="fill_parent">
<TextViewandroid:textSize="10.0dip"android:textColor="@color/white"android:gravity="center"android:id="@id/main_tab_findfriend_prospect_tv"android:background="@drawable/friendactivity_newnotice"android:visibility="invisible"android:layout_width="wrap_content"android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayoutandroid:gravity="top|right|center"android:paddingRight="10.0dip"android:layout_width="fill_parent"android:layout_height="fill_parent">
<TextViewandroid:textSize="10.0dip"android:textColor="@color/white"android:gravity="center"android:id="@id/main_tab_new_tv"android:background="@drawable/tab_unread_bg"android:paddingLeft="6.0dip"android:paddingRight="6.0dip"android:visibility="invisible"android:layout_width="wrap_content"android:layout_height="wrap_content"android:minWidth="40.0dip"android:text="@string/app_new"/>
</LinearLayout>
<LinearLayoutandroid:gravity="top|right|center"android:paddingRight="10.0dip"android:layout_width="fill_parent"android:layout_height="fill_parent">
<TextViewandroid:textSize="10.0dip"android:textColor="@color/white"android:gravity="center"android:id="@id/main_tab_sayhi_new_tv"android:background="@drawable/tab_unread_bg"android:visibility="invisible"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/app_new"/>
</LinearLayout>
</FrameLayout>
<FrameLayoutandroid:background="@null"android:layout_width="0.0dip"android:layout_height="fill_parent"android:layout_weight="1.0">
<LinearLayoutandroid:gravity="bottom|center"android:layout_width="fill_parent"android:layout_height="fill_parent">
<RadioButtonandroid:id="@id/main_tab_more"android:text="@string/main_more"android:drawableTop="@drawable/tab_settings"style="@style/MMTabButton"/>
</LinearLayout>
<LinearLayoutandroid:gravity="top|right|center"android:paddingRight="10.0dip"android:layout_width="fill_parent"android:layout_height="fill_parent">
<TextViewandroid:textSize="10.0dip"android:textColor="@color/white"android:gravity="center"android:id="@id/main_tab_setting_new_tv"android:background="@drawable/tab_unread_bg"android:paddingLeft="6.0dip"android:paddingRight="6.0dip"android:visibility="invisible"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/app_new"/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</LinearLayout>
<com.tencent.mm.ui.voicesearch.VoiceSearchLayoutandroid:gravity="bottom"android:layout_gravity="bottom"android:id="@id/voice_search_layout"android:paddingBottom="0.0dip"android:visibility="gone"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_marginBottom="0.0dip"/>
</FrameLayout>
</TabHost>
看到Tabhost+RadioButton的实现了吧。
再给你贴个连接的源码
[Android实例]FragmentTabHost 实现底部菜单功能
[复制链接]
http://www.eoeandroid.com/thread-305278-1-1.html
‘贰’ 微信反编译成功但是回编译失败,怎么样才能成功回编
用apktool重新打包,再用apksign签名。
你上面那些是资源没办法反汇编,没事的。
重新打包的时候,资源手动加入。
‘叁’ 微信反编译没报错,没修改回编报错,apktool工具~
你好,这是由于id绑定错误,有重复或者其他情况造成的。
您可以clear一下,清理掉之前的绑定,然后重新编译。
‘肆’ 安卓怎么装多个微信
手机端不能装多个微信
一个app只有一个package唯一标识,注定如何启动都进入这唯一的应用app.
使用android自动化测试工具monkeyrunner启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法:
方法一:使用aapt //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt mp badging E:\apk\es3.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称
package: name=’com.estrongs.android.pop’
launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’
注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool。
方法二:查看AndroidManifest.xml
1.使用apktool反编译app:apktool.bat d es3.apk E:\apk\es
2.打开AndroidManifest.xml
manifest节点的package属性值是应用的包名:
查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,如下:
<activity android:theme="”@*android" ="" tyle/Theme.NoTitleBar” android:label=”@string/app_name” android:name=”com.estrongs.android.pop.view.FileExplorerActivity”>
android.intent.action.MAIN决定应用程序最先启动的Activity
android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
‘伍’ 用 android studio打出来的apk包反编译资源在哪
Android APK实际就是个Zip文件,可以解压缩后反编译查看源代码和资源文件。以下以微信为例:
我们可以右击APK文件,”打开方式”选择Winrar压缩文件管理器,截图如下:
解压res目录就是资源文件。
‘陆’ 微信小程序反编译没保存
没保存就需要重新编写。
小程序反编译,如果没有保存的话是没有办法找回的,需要重新编写才可以。要想拿到微信小程序源码,先要拿到小程序的包,用反编译脚本跑一下,微信小程序代码包里的所有文件、所有资源就出来了(除了project.config.json小程序配置文件)。
操作时需准备工具:1、nodejs环境,这是反编译脚本的运行环境,下方有地址。2、小程序包解密工具,PC版解包无需模拟器,附件中有这个。3、反编译脚本下载,附件中有这个。4、微信PC端,运行小程序,自己下载电脑端微信。