可以通过包名实现
Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
startActivity(intent);

解决方案 »

  1.   

    谢谢你的回复,不过你的答案跟我说的好像不一样,用monkeyrunner 进行自动化测试首先要安装测试包,然后运行测试包,以zuqiuxiaozi.apk为例, 命令如下:
    from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
    device=MonkeyRunner.waitForConnection()
    device.installPackage('zuqiuxiaozi.apk')
    device.startActicity(name)
    请问这里的name怎么获取,通过这么方法,只有获取name才能启动zuqiuxiaozi。
      

  2.   

    这个问题我已经解决了,方法如下:
    先把apk包安装到手机上,然后启动,通过以下代码
    import android
    import pprint
    droid=android.Android()
    apps=droid.getLaunchableApplications()
    pprint.pprint(apps.result)
    print '-------------------------------------'
    pacs=droid.getRunningPackages()
    pprint.pprint(pacs.result)
    就可以获得应用程序的startActivity与package name,再通过以下代码就可以实现了:
    import sys
    from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
    device=MonkeyRunner.waitForConnection()
    device.startActivity(component='package name/startActivity name')
      

  3.   

    aapt dump badging  xxxx.apk 
      

  4.   

    你好我根据你这个方法用了,怎么不对呀?是在打开模拟器,启动应用程序以后,直接在cmd命令下输入以上代码就能获得package和activity的name么?
      

  5.   

    楼主,可以通过adb logcat 获取日志文件,在里面可以找到你要的。