zoukankan      html  css  js  c++  java
  • 手把手教你ranorex_android源码instrument

    话说ranorex能把android程序看的透彻,关键是在潜伏,他使用instrumentation,在每个界面(activity)里面,准确的说是onresume,也就是页面显示的时候,都给安装了个钩子(hook),等到界面不显示了,也就是pause了,就去掉这个hook,所以ranorex才能对android程序的界面元素一清二楚。

    好吧,我说说具体步骤:

    instrumentation处理源文件:

    1.      在源文件工程中引用:ranorex.jar,位置在:C:安装目录Ranorex 4.1Bin RxEnvAndroid

    001.png

     

    2.      给所有的activity加上代码:

    @Override

    public void onResume()

    {

     super.onResume();

     com.ranorex.android.RanorexAndroidAutomation.Hook(this);

    }

     

    @Override

    public void onPause()

    {

     super.onPause();

     com.ranorex.android.RanorexAndroidAutomation.UnHook(this);

    }

     

    @Override

    public boolean dispatchKeyEvent(android.view.KeyEvent event)

    {

     com.ranorex.android.RanorexAndroidAutomation.Key(event);

     return super.dispatchKeyEvent(event);

    }

    3.      添加权限

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.INJECT_EVENTS" />

    002.png

     

    这个意思是只有系统应用程序才可以使用这个权限,在程序中插入事件,绝对不是干好事的。^_^

    不用搭理他,project-clean一下,报错就消失了,编译能通过的。

    4.      添加版本号

    帮助中说明:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

     package="YOUR PACKAGE"

     android:versionCode="YOUR CODE VERSION"

     android:versionName="YOUR VERSION NAME (RxInstrumented$<RANOREX-VERSION>)">

    原文:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

        package="com.amem"

        android:versionCode="1"

        android:versionName="1.0" >

    修改为:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

        package="com.amem"

        android:versionCode="1"

        android:versionName="1.0(RxInstrumented$4.1.5)>" >

    版本号查看方法:

    003.png

     

    好了,这就搞定了,编译成apk就可以用来测试了。

    其实在deploy的时候,勾选上instrument就工具就自动帮你搞定了,是不是有点崩溃,这篇文章白看了。^_^

  • 相关阅读:
    JQuery中的回调对象
    CSS中的视觉格式化模型
    css中的选择器
    浅谈css中的position
    python-24: re 模块 之二 re方法及反斜杠
    python-23 xml.etree.ElementTree模块
    python-22 eval json pickle shelve 之间差别
    python-21 os 模块
    python-18: datetime 模块
    python-16: time 模块 之二
  • 原文地址:https://www.cnblogs.com/android100/p/android-instrument.html
Copyright © 2011-2022 走看看