monkey.java::run()第三部分源码——日志相关:
//添加categories,就是参数“-c”后面跟的值args
//如果不指定args,则默认从Intent.CATEGORY_LAUNCHER和Intent.CATEGORY_MONKEY来
if (mMainCategories.size() == 0) {
mMainCategories.add(Intent.CATEGORY_LAUNCHER);
mMainCategories.add(Intent.CATEGORY_MONKEY);
}
//就是参数“-s”后面跟的seed值args
//如果不指定seed值,则默认该值=系统时间+该对象的哈希码
if (mSeed == 0) {
mSeed = System.currentTimeMillis() + System.identityHashCode(this);
}
//至少要有一个“-v”才会打印如下log
if (mVerbose > 0) {
Logger.out.println(":Monkey: seed=" + mSeed + " count=" + mCount);
//参考下一个代码块——MonkeyUtils::dump()这个函数来看就是遍历打印白名单和黑名单
MonkeyUtils.getPackageFilter().dump();
//系统启动类别
if (mMainCategories.size() != 0) {
Iterator<String> it = mMainCategories.iterator();
while (it.hasNext()) {
Logger.out.println(":IncludeCategory: " + it.next());
}
}
}
MonkeyUtils::dump() :
public void dump() {
if (mValidPackages.size() > 0) {
Iterator<String> it = mValidPackages.iterator();
while (it.hasNext()) {
Logger.out.println(":AllowPackage: " + it.next());
}
}
if (mInvalidPackages.size() > 0) {
Iterator<String> it = mInvalidPackages.iterator();
while (it.hasNext()) {
Logger.out.println(":DisallowPackage: " + it.next());
}
}