怎么启动一个不知道包名和类名的Android APK

我想要在Androidavd里启动一个别人写好的APK,我不知道它的类名和包名,只有apk的文件名。怎么启动???用monkeyrunner和ADBshell好像都不行(... 我想要在Android avd里启动一个别人写好的APK,我不知道它的类名和包名,只有apk的文件名。怎么启动???用monkeyrunner和ADB shell好像都不行(需要知道包名和类名)。我有多个apk(上千个)需要这样的启动,用apktool去一个个反编译获取包名,主activity好像也不太实际。 展开
 我来答
QQMSD8
推荐于2016-12-01 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

需要使用隐式意图Intent来启动。

具体实现代码:

  1. Intent intent = new Intent("注册的Action");

    startActivity(intent); 即可启动一个Activity,和调用系统相机拍照,调用文件管理选择文件同一个写法

  2. 通过 PackageManager 获取本机安装的应用,PackageManager可以得到包名,程序名和icon等应用信息,然后通过包名来启动,代码如下:

PackageInfo pi;  

        try {  

            pi = getPackageManager().getPackageInfo(packageName, 0);  

            Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);  

            resolveIntent.setPackage(pi.packageName);  

            PackageManager pManager = getPackageManager();  

            List apps = pManager.queryIntentActivities(  

                    resolveIntent, 0);  

  

            ResolveInfo ri = apps.iterator().next();  

            if (ri != null) {  

                packageName = ri.activityInfo.packageName;  

                String className = ri.activityInfo.name;  

                Intent intent = new Intent(Intent.ACTION_MAIN);  

                ComponentName cn = new ComponentName(packageName, className);  

                intent.setComponent(cn);  

                startActivity(intent);  

            }  

        } catch (NameNotFoundException e) {  

            e.printStackTrace();  

        }  

转520角
2014-10-14 · 超过31用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:70.4万
展开全部
你都不知道包名和类名,怎么启动,除非人家提供了一个开放的接口给你....... 你可以把人家的apk包反编译后详细看看
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sxdthysxw
2014-10-14
知道答主
回答量:23
采纳率:0%
帮助的人:20.6万
展开全部
上千个不好弄啊 别人写好的就没有发action的可能了不过反编译看一下AndroidManifest应该可以吧 有那种工具看不了代码看个AndroidManifest应该没问题 你可以找个你们公司实习生啥的帮你弄啊 嘿嘿
追问
哎 我就是那个实习生。。。①反编译apk得到manifest;②提取manifest里的主activity名到txt;③根据主activity,monkeyrunner启动
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式