查看Android的appPackage和Activity的多种方法

查看AndroidappPackageActivity的多种方法

一、有源码情况

直接打开AndroidManifest.xml文件,

找到包含android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity。

如下图中第三行package为com.cola.ui,第七行主Activity为com.cola.ui.ColaBox(.ColaBox为Activity简写方式)。

[html] view plaincopy

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       package="com.cola.ui"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0.0">  
  6.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  7.         <activity android:name=".ColaBox"  
  8.                   android:label="@string/app_name">  
  9.             <intent-filter>  
  10.                 <action android:name="android.intent.action.MAIN" />  
  11.                 <category android:name="android.intent.category.LAUNCHER" />  
  12.             </intent-filter>  
  13.         </activity>  
  14.     <activity android:name="Frm_Addbills"></activity>  
  15.     <activity android:name="Frm_Editacctitem"></activity>  
  16.     <activity android:name="Grid_bills"></activity>  
  17.     <service android:name="LocalService" android:exported="true" android:enabled="true"/>   
  18.     
  19.    </application>  
  20.  <uses-permission android:name="android.permission.READ_CONTACTS" />  
  21.      
  22.      
  23. </manifest>   

 

二、只有Apk的情况

(1)aapt

使用命令行aapt dump xmltree ColaBox.apk AndroidManifest.xml

 

(2)使用apktool

使用反编译工具apktool,反编译后打开AndroidManifest.xml文件,查找方式同"有源码情况"

使用apktool反编译appapktool.bat d es3.apk E:\apk\es

2.打开AndroidManifest.xml

manifest节点的package属性值是应用的包名:<manifest package="com.estrongs.android.pop">

查找android.intent.action.MAINandroid.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">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

android.intent.action.MAIN决定应用程序最先启动的Activity

android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里

 

(3)aapt

感谢"天地会珠海分舵"地址:http://blog.csdn.net/zhubaitian/article/details/38926679

 

方法一:使用aapt    //aaptsdk自带的一个工具,在sdk\builds-tools\目录下

1.ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging E:\apk\es3.apk

2.运行后的结果中以下两行分别是应用包名package和入口activity名称

package: name='com.estrongs.Android.pop'
launchable-activity: name='com.estrongs.android.pop.view.FileExplorerActivity'

[java] view plain copy

  1. package: name='<span style="color: rgb(102, 102, 102);">com.estrongs.android.pop</span>' versionCode='1' versionName='1.0'  
  2. sdkVersion:'8'  
  3. application-label:'EngineeringTest'  
  4. application-icon-120:'res/drawable-ldpi/ic_launcher.png'  
  5. application-icon-160:'res/drawable-mdpi/ic_launcher.png'  
  6. application-icon-240:'res/drawable-hdpi/ic_launcher.png'  
  7. application: label='EngineeringTest' icon='res/drawable-mdpi/ic_launcher.png'  
  8. launchable-activity: name='<span style="color: rgb(102, 102, 102);">com.estrongs.android.pop.view.FileExplorerActivity</span>'  label='EngineeringTest' icon=''  
  9. uses-permission:'android.permission.INTERNET'  
  10. uses-feature:'android.hardware.touchscreen'  
  11. main  
  12. other-activities  
  13. other-receivers  
  14. other-services  
  15. supports-screens: 'small' 'normal' 'large'  
  16. supports-any-density: 'true'  
  17. locales: '--_--'  
  18. densities: '120' '160' '240'  

 

注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool

   

方法二:查看AndroidManifest.xml

1.

 

 

三、没有apk,应用已经安装到手机或虚拟机中

1.logcat

.清除logcat内容,使用命令adb logcat -c

.启动logcat,使用命令adb logcat ActivityManager:I *:s

.启动要查看的程序,

2.dumpsys

(1)启动要查看的程序;

(2)命令行输入:adb shell dumpsys window w |findstr // |findstr name=

3.使用工具DEVTOOLS

Dev Tools安卓模拟器自带的一个开发调试工具,我们可以通过以下方式把该工具从模拟器移出来然后安装到我们的真实机器当中。

安装步骤

- adb -e pull /system/app/Development.apk ./Development.apk

adb -d install Development.apk

当然我们也可以选择从网上直接下载安装了。

使用向导

1. 打开Dev Tools并选择Package Browser选项

2. 选择要测试的app

3.查看相应该app所有的activity已经Package

----------------------------------------The End---------------------------------------

 

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-

appium获取app应用的package和 activity。---新手总结(大牛勿喷,新手互相交流)

从网上搜索的方法:

如下:

1.查看源码
2.日志法
a、启动待测apk
b、开启日志输出:adb logcat>D:/log.txt
c、关闭日志输出:ctrl+c
d、查看日志

直接搜索 :Displayed
找寻:Displayed com.mm.android.hsy/.ui.LoginActivity: +3s859ms
appPackage = com.mm.android.hsy
appActivity = .ui.LoginActivity


我一直用的方法是:
adb shell
logcat | grep cmp=

自己用的简洁版:

adb logcat|find "Displayed" >d:/logs.txt

3.反编译查看
 
    1,重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex;
    2,解压dex2jar-0.0.9.15.zip,并从命令行进入该文件夹;
    3,运行命令
    d2j-dex2jar.bat path_to\classes.dex
    在当前文件夹下得到classes-dex2jar.jar;
    4,解压jd-gui-0.3.6.windows.zip得到文件jd-gui.exe;
    5,使用jd-gui.exe打开classes-dex2jar.jar;
例如::
C:\Users\Administrator\Desktop\testzidong\android\activity package\dex2jar>d2j-d
ex2jar.bat ../ContactManager/classes.dex

反编译工具在:https://yunpan.cn/cSdMAvzPWQDr9  访问密码 7aa2

apktool 反编译https://yunpan.cn/cSLi9na9hMPki  访问密码 725d

4.http://blog.csdn.net/yudajun/article/details/7855270

5.
aapt dump badging +客户端包所在路径+客户端包名称.apk
这个看你有没有aapt.exe,这个很直观,你也可以执行命令时输出成log来看,有apk的推荐这种。反编译查看xml应该用的也是这种方法。

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值