Python解析AndroidManifest.xml寻找入口Activity

Python3解析AndroidManifest.xml寻找MainActivity


用了好几层循环看着就难受,奈何初学者,暂时这样吧。

import os
import xml.etree.ElementTree as ET

#android namespace
namespace = '{http://schemas.android.com/apk/res/android}'

#all activity
activityArray = []

tree = ET.parse('AndroidManifest.xml')
root = tree.getroot()

packageName = root.attrib['package']

for application in root.iter('application'):
    for activity in application.iter('activity'):
        activityName = activity.get(namespace+'name')
        #add package name
        if activityName[0] == '.':
            activityName = packageName+activityName
        #find mainActivity
        for inter in activity.iter('intent-filter'):
            for action in inter.iter('action'):
                if action.get(namespace+'name') =='android.intent.action.MAIN':
                    for cate in inter.iter('category'):
                        if cate.get(namespace+'name') == 'android.intent.category.LAUNCHER':
                           print('************\n'+activityName+'\n************') 

        activityArray.append(activityName)
        #print(activityName)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值