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就工具就自动帮你搞定了,是不是有点崩溃,这篇文章白看了。^_^

  • 相关阅读:
    DataTable常用操作总结[转帖]
    Jquery实现淡入淡出效果
    在自定义Server Control中捆绑JS文件 [转帖]
    ASP.NET利用String.Join以分隔符號來串連集合資料 [转帖]
    fork()的一些测试
    大端小端表示法 && GAS对过程的实现
    GAS中流程控制的实现,for, while, if, switch
    一个看起来奇怪的C++程序 && c++操作符重载
    修改函数的返回地址
    stl algorithm sort ,unique
  • 原文地址:https://www.cnblogs.com/android100/p/android-instrument.html
Copyright © 2011-2022 走看看