A method for monitoring a mobile application, comprising: receiving, at a server, an APK file of the mobile application to be monitored; extracting, by the server, metadata from the APK file for methods and classes contained in the received APK file, the metadata including information on methods and classes suitable to be modified with a sub-class; defining, by the server, information points corresponding to methods of the mobile application to be monitored, comprising: providing a user interface, and displaying, through the user interface, predefined information points from the APK file, and receiving user input, through the user interface, for additional information points; generating, at the server, a new mobile device file, wherein the new mobile device file is a dex file for an android operating system, comprising: iterating through the methods of the mobile application to be monitored that correspond to the defined information points including the predefined information points and the additional information points, wherein the iterating is performed for each class suitable to be modified with a sub-class as identified by the extracted metadata, and generating methods in a sub-class that intercept invocations of the methods that correspond to the defined information points for each class, and writing the generated sub-classes into the new mobile device file; receiving, by the server, a poll from an agent on a mobile device, the poll regarding information point changes made to the APK file; transmitting, by the server, the new mobile device file to the agent on the mobile device in response to receiving the poll; storing the new mobile device file at the mobile device; and setting, by the agent on the mobile device, a flag to indicate that new information points are enabled and that the new mobile device file should be loaded upon the next application restart. receiving, at a server, an APK file of the mobile application to be monitored; extracting, by the server, metadata from the APK file for methods and classes contained in the received APK file, the metadata including information on methods and classes suitable to be modified with a sub-class; defining, by the server, information points corresponding to methods of the mobile application to be monitored, comprising: providing a user interface, and displaying, through the user interface, predefined information points from the APK file, and receiving user input, through the user interface, for additional information points; providing a user interface, and displaying, through the user interface, predefined information points from the APK file, and receiving user input, through the user interface, for additional information points; generating, at the server, a new mobile device file, wherein the new mobile device file is a dex file for an android operating system, comprising: iterating through the methods of the mobile application to be monitored that correspond to the defined information points including the predefined information points and the additional information points, wherein the iterating is performed for each class suitable to be modified with a sub-class as identified by the extracted metadata, and generating methods in a sub-class that intercept invocations of the methods that correspond to the defined information points for each class, and writing the generated sub-classes into the new mobile device file; iterating through the methods of the mobile application to be monitored that correspond to the defined information points including the predefined information points and the additional information points, wherein the iterating is performed for each class suitable to be modified with a sub-class as identified by the extracted metadata, and generating methods in a sub-class that intercept invocations of the methods that correspond to the defined information points for each class, and writing the generated sub-classes into the new mobile device file; receiving, by the server, a poll from an agent on a mobile device, the poll regarding information point changes made to the APK file; transmitting, by the server, the new mobile device file to the agent on the mobile device in response to receiving the poll; storing the new mobile device file at the mobile device; and setting, by the agent on the mobile device, a flag to indicate that new information points are enabled and that the new mobile device file should be loaded upon the next application restart.