检测app使用了多少个xib和js的脚本(python)

检测app使用了多少个xib和js的脚本(python)

by 伍雪颖

#!/usr/bin/env python

# coding=utf-8

import
os, sys

def
countTargetFile(targetDir):

resultStr =
‘‘

targetTypes = [‘.nib‘,
‘.m‘,
‘.js‘]

for targetType
in targetTypes:

targetCount =
0

for root, dirs, files
in
os.walk(targetDir):

for file
in files:

if file.endswith(targetType):

print os.path.join(root, file)

targetCount +=
1

oneResult =
‘type = ‘ + targetType +
‘, target count = ‘
+ str(targetCount)

print oneResult

resultStr += oneResult +
‘\n‘

return resultStr

def
deal(baseDir, filename):

print
‘process file:‘ + baseDir + filename

tmpDir = os.getcwd() +
‘/unzip_folders/‘ + filename.replace(‘ ‘,
‘_‘)

print tmpDir

try:

os.mkdir(tmpDir)

zipFile = tmpDir +
‘/‘ +
‘tmp.zip‘

command =
‘cp ‘ + baseDir + filename.replace(‘ ‘,
‘\ ‘) +
‘ ‘
+ zipFile

os.system(command)

command =
‘unzip ‘ + zipFile +
‘ -d ‘
+ tmpDir

print command

os.system(command)

except OSError:

print
‘file exist, ignore‘

resultStr = countTargetFile(tmpDir +
‘/Payload‘)

file = open(tmpDir.replace(‘.ipa‘,‘‘)

‘_result.txt‘,
‘w‘)

file.write(filename +
‘:\n‘)

file.write(resultStr)

file.write(‘\n‘)

file.close()

def
process():

baseDir = os.getcwd()

targetFiles = os.listdir(‘./ipa_folders‘)

print targetFiles

for oneFile
in targetFiles:

if oneFile.endswith(‘.ipa‘):

deal(baseDir +
‘/ipa_folders/‘, oneFile)

if
__name__ ==
‘__main__‘:

process()

print
‘over‘

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-19 02:57:37

检测app使用了多少个xib和js的脚本(python)的相关文章

【Android】检测app是否安装、安装并打开的方法

1.检测app是否安装 检测app是否安装的方法有很多,以下列举几种.基本都是利用packageManager来完成. a.通过packagemanager获取已经安装的包,然后对比得出是否安装.代码: public boolean isAppInstalled(Context context, String packageName) { final PackageManager packageManager = context.getPackageManager(); List<Package

Android开发实践:检测App的内存占用和泄漏

来源:http://www.linuxidc.com/Linux/2014-03/97563.htm 前段时间开发的Android应用,每次都是在运行了半个小时左右后突然挂掉了,很是莫名其妙,也不知道哪里出了问题,后来一步步排查,发现问题出在JNI层,一个被频繁调用的函数分配的内存忘记释放,导致内存泄漏. 这次问题使我明白,别以为Android程序是基于Java语言,有强大的垃圾回收机制,就完全不用担心内存问题,其实Android程序也要特别小心你的内存,因为毕竟手机不比PC机,内存是极其有限的

iOS 怎么检测app支不支持64位

在2015年2月1日新的iOS应用提交到App Store的开始必须包括64位支持并与iOS 8 SDK构建.2015年6月1日开始的应用程序更新也要遵循同样的要求.为了使项目中的64位,我们建议使用默认的Xcode编译设置"标准结构"来建立一个单一的二进制与32位和64位代码. 在你已经纠正了问题,你可以用Xcode应用程序或上传一个新的二进制iTunes Connect. 1.检测项目中有没有不支持64的sdk (1)Xcode会提示你更新你的项目,其中的警告和错误信息对于转换到6

iOS开发之一句代码检测APP版本的更新-Swift版本

//新建一个NSObject类,将以下代码拷贝到此类中. // // HKCheckVersionManager.swift // ProjectManager // // Created by isHakan on 2017/12/29. // Copyright ? 2017年 liuhuakun. All rights reserved. // import UIKit class HKCheckVersionManager: NSObject { /// app版本更新检测 /// //

iOS如何检测app从后台调回前台

当按Home键,将应用放在后台之后,然后再次调用回来的时候,回出发AppDelegate里面的一个方法,-(void)applicationWillEnterForeground. 当应用再次回到后台就会执行该方法,所以监听 UIApplicationWillEnterForegroundNotification这条通知就可以获取返回前台的操作了. UIApplication *app = [UIApplication sharedApplication]; [[NSNotificationCe

JS检测APP是否安装的情况

我们在浏览网页的时候,你会看到一个网页下面漂浮着一个提示框"打开APP"或者"下载APP的字样",如果你的手机已经安装过这个APP,那么网页会提示"打开APP",如果没有安装,那就会提示"下载APP的字样"  这个从技术角度是如何去实现的呢?下面我给大家分享这块技术,去年公司给国际动漫节做项目的时候,客户就提到这个需求,在点击网页企业的时候 那么直接打开APP(如果已经安装了) 如果没有安装过,直接打开APP页面 下面我把这块

Android开发检测App从后台进入前台的解决方法

public class ActLifecycle implements ActivityLifecycleCallbacks { private int mPreActivityStartedCount = 0; private int mActivityStartedCount = 0; private int mActivityOrientation = Configuration.ORIENTATION_UNDEFINED; @Override public void onActivit

app接入网易严选:webview注入js的几个坑

消费贷款app"一刻千金"接入网易严选总结 主要任务列表 隐藏相关元素 商品列表页跳转事件绑定 获取商品信息(skuid比较复杂) 隐藏元素 这部分没什么好讲的,使用原生js的document的api定位元素或者jQuery的选择器定位元素,然后隐藏(hide)或者移除(remove) 阻止列表页的事件 搜索到结果后,点击其中某个商品,希望跳转至改造过的详情页(改变了购买方式). 搜索列表页的html主要结构如下: <ul class="list"> &

用weex create 创建app项目 报 ERROR in index.web.js from UglifyJs 错误!

用weex create创建一个APP项目,安装依赖后运行报 这个是package.json index.web.js 在dist目录下是build时生成的. 上面的答案没有给大家细节,不好意思致歉下面进行补充: 卸载 npm uninstall weex-toolkit -g // 卸载后一定用weex -v看下卸载了没!!! 到你node 安装的目录下的nodejs下node_modules看weex-toolkit 还在没!!!(windows)如果在删除之后再次重复上面的命令 删除 .x