找出一个apk的类名

Posted

技术标签:

【中文标题】找出一个apk的类名【英文标题】:Find out the class name of an apk 【发布时间】:2011-10-17 01:54:44 【问题描述】:

我正在开发一个应用程序,它应该能够启动安装在手机上的另一个应用程序。目前,我成功启动了 facebook,因为 ActivityPackage 和 ActivityClass 是已知的。我想启动其他应用程序,例如 twitter、gplus、gtalk、gmail 等。如何找到相应的类名称?使用 packagemanager 很容易找到包名,但是我没有用相同的方法找到类名。

【问题讨论】:

【参考方案1】:

我假设您不是在运行时尝试这样做...

android-apktool 可以扩展您感兴趣的包的清单。这将告诉您哪些活动可用以及应用了哪些意图过滤器。

【讨论】:

您好,感谢您的回答。这不应该是一个公开的应用程序。它仅供个人使用和理解 android 编程。感谢您的帮助:)【参考方案2】:

我正在开发一个应用程序,它应该能够启动安装在手机上的另一个应用程序。

您可以查询PackageManager 以获取旨在启动的活动。 Here is a sample project 演示了这一点。

目前,我成功启动了 facebook,因为 ActivityPackage 和 ActivityClass 是已知的。

不要这样做。

您知道,您应该意识到 Facebook 可以随时更新他们的应用程序,根据 Facebook 选择的活动进行更改。您应该意识到,当 Facebook 这样做时,任何依赖于原始未记录、不受支持的 Intent 结构(例如类)的代码都会中断。您应该意识到,损坏的应用程序会导致用户在市场上给应用程序差评和 cmets 等。

我想启动其他应用程序,例如 twitter、gplus、gtalk、gmail 等。如何找到相应的类名称?

不要这样做。请根据上述示例项目使用启动器中声明为属于的活动。

【讨论】:

以上是关于找出一个apk的类名的主要内容,如果未能解决你的问题,请参考以下文章

eclipse修改android项目的apk包名类名

找出类名是不是包含某些文本

如何从WinRT中的接口ID(IID)中找出类名?

Android怎么获取一个包下的全部类名

找出当前模块中所有的类名

Android为TV端助力 Linux命令查看包名类名