Chinaunix首页 | 论坛 | 博客
  • 博客访问: 160304
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 729
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-08 14:00
文章分类

全部博文(9)

文章存档

2015年(1)

2014年(2)

2013年(6)

分类: Android平台

2013-05-08 14:34:14

       最近在做安卓系统开发板的调试的时候,想在里面运行一个3D性能测试程序,但是安装APK程序后,找不到启动图标。原来是被屏蔽了。只能通过adb接口来安装和启动第三方包,但是我们通过am,又不知道第三方包的包名和启动ACTIVITY名。之前没学过安卓编程,简单的在网上找了资料,在模拟器上进行解析类名和包名。代码附下
        public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String archiveFilePath="/123.apk";//待测的包
        PackageManager pm = getPackageManager();    
        PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);    
        if(info != null){    
            ApplicationInfo appInfo = info.applicationInfo;    
            String appName = pm.getApplicationLabel(appInfo).toString();    
            String packageName = appInfo.packageName;  //得到安装包名称  
            String version=info.versionName; //得到版本信息  
            int i=0;
            
     
            TextView tv = (TextView)findViewById(R.id.textView1); //TEXT显示 
            
            tv.setText("packageName:"+packageName+" version:"+version+"::"+info.activities[0].name
                    +"::");
            
            
        }
    }
       在编辑完代码后,我们要将123.apk放在模拟器的根目录下面,(模拟器下次重启就没了),首先执行adb shell mount -o rw,remount rootfs,重挂根目录为可读写。然后执行adb push 123.apk /。
       接下来启动我们的MAINACTIVITY,就可以看到打印出来的包和类名。截图如下
       接下来在adb shell 里面执行am 命令即可启动测试程序,希望和我一样的菜鸟,能通过这个傻瓜教程找到第三方包和类名。





阅读(7897) | 评论(1) | 转发(1) |
0

上一篇:没有了

下一篇:linux C变量和函数在进程空间中的存储位置

给主人留下些什么吧!~~

校长的马夹2013-05-09 09:26:04

学习了,期待更多原创文章哦