Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重载APK并创建自定义应用程序_Java_Android_Overloading_Apk_Overriding - Fatal编程技术网

Java 重载APK并创建自定义应用程序

Java 重载APK并创建自定义应用程序,java,android,overloading,apk,overriding,Java,Android,Overloading,Apk,Overriding,可以通过重载/重写和现有APK来创建新APK 喂,我们有WhatsApp messenger。现在,如果我想在通知区域显示一个通知,如“Person X现在在线”,则不可能使用现有的WhatsApp messenger。因此,我想开发一个新的自定义messenger,它使用WhatsApp messenger的所有功能,并使用一些自定义代码。就像进口罐子一样,我们能进口APK吗 这似乎是在利用别人的工作,但仅仅从学习的角度来看,我想知道的可能性。现在,让我们把所有的安全性、漏洞都放在一边。是和否

可以通过重载/重写和现有APK来创建新APK

喂,我们有WhatsApp messenger。现在,如果我想在通知区域显示一个通知,如“Person X现在在线”,则不可能使用现有的WhatsApp messenger。因此,我想开发一个新的自定义messenger,它使用WhatsApp messenger的所有功能,并使用一些自定义代码。就像进口罐子一样,我们能进口APK吗

这似乎是在利用别人的工作,但仅仅从学习的角度来看,我想知道的可能性。现在,让我们把所有的安全性、漏洞都放在一边。

是和否

一个应用程序(一个独立的应用程序)有几种方式与其他应用程序共享其信息。一种是通过使用内容提供商,另一种是通过自定义广播

比如说,如果WhatsApp已经记录了它的应用程序,并且它的构建可以让你进一步构建它,那么你就可以捕捉这些广播并收听这些提供商的声音,这样你的应用程序也可以对WhatsApp中所做的更改做出反应。

简言之,没有

APK不像Jar文件,你可以简单地将它们导入到你的应用程序中。它们还包含其他资源,如XML和资产。代码保存在classes.dex文件中,该文件由应用程序代码的Jar文件生成

此外,每个应用程序都在其自己的DVM中运行,并通过沙盒防止应用程序之间的这种交互。您不能简单地将WhatsApp的代码作为第三方应用程序在自己的应用程序中使用

然而,有两种方法可以实现你想要的

  • 如果你的目标应用程序通过内容提供商甚至web服务提供API,你可以使用这些API访问他们的数据和事件,比如用户在线。WhatsApp不提供任何此类API
  • 您可以反编译目标应用程序,并插入您自己的代码来执行您想要的操作。这可能非常困难,因为大多数流行的应用程序,如WhatsApp,都会混淆代码,使其难以破译(但并非不可能)。此外,WhatsApp使用AES对其大部分数据(如消息、联系人、聊天线程等)进行加密,这在某些地方增加了一个附加层以绕过。哦,如果你这样做的话,它也违反了一些知识产权和版权法

  • 您可以创建一个config.properties文件,并将其插入wattsup messenger的资产文件夹中,前提是您拥有源代码

    现在,您必须配置您的自定义应用程序,以便在该文件中写入这些更改,但是您可以通过多种方式更改这些数据,例如允许您通过Web服务修改该文件中的数据的Web服务

    在上面的场景中,您可以进行更改,但是您的应用程序将永远不会更新这些更改,因为您处理的是APK而不是代码,因此您必须再次重新生成APK,以便它将接受最新的更改

    对于自动生成APK,您可以使用ANT工具,方法是将build.xml文件放在您的wattsp源中 代码您可以运行该脚本,该脚本将使用最新代码生成新的APK
    正如您所说,这些仍然是可能的,但在我看来,最终您不能将APK用作库

    您可以对APK进行反向工程,添加代码并重新构建。反向工程APK并不是那么容易。我尝试了这里提到的步骤,但是项目没有成功构建。但该项目并没有成功建成。