Http://www.cnblogs.com/bigben0123/archive/2012/04/13/2445218.html
Original article: http://kb.cnblogs.com/a/1652230
I wrote an application based on the Google map API, And the simulator has been running smoothly. Because the real machine does not have com. google. android. maps. the jar package cannot run until it is found.
Focus on this part:
Mobile Terminals must support Google add-ons
As a mobile phone terminal manufacturer that cooperates with Google, if you want to integrate some Google applications, such as map, market, Picasa, and sync, on your android terminal, you need to sign a contract with Google, in this way, Google will have a dedicated person to help you integrate this series of services into your platform.
As a manufacturer of mobile phone terminals that do not cooperate with Google, we can use the method of cracking to integrate the Runtime Library in add-ons into our own framework (build to the system of the mobile phone terminal. in IMG ). The procedure is as follows:
1. in Android, Google add-ons (googlemaps) is supported. You need to package the following files (pull from the standard SDK or pull from gphone) into system. IMG. Google add-ons only requires 1--2, and goolgemaps (Google Map Program) requires 1--5:
1) system/framework com. Google. Android. Maps. Jar
2) system/etc/permissions com. Google. Android. Maps. xml
3) system/framework com. Google. Android. gtalkservice. Jar
4) system/etc/permissions com. Google. Android. gtalkservice. xml
5) system/APP maps.apk (Google Maps V3.0)
2. Source Code: Android cupcakerel.pdf (tested and applicable to the donut platform as well .)
1) Compile the source code (to generate the most primitive Android content in the out/target directory)
2) Add the above files to the out/target/product/Generic Directory and use makesnod to package the files in the source code root directory to obtain the new system. img
Therefore, do the following to extract the 1-3 files in the simulator (Google API simulator, not SDK:
ADB pull/system/framework/COM. Google. Android. Maps. Jarf: \ fatcat \ adbshell \ com. Google. Android. Maps. Jar
ADB pull/system/etc/permissions/COM. Google. Android. Maps. xmlf: \ fatcat \ adbshell \ com. Google. Android. Maps. xml
ADB pull system/APP/maps.apk F: \ fatcat \ adbshell \ maps.apk
Then, connect the USB to your real machine and push the three files generated by pull into it:
ADB pushf: \ fatcat \ adbshell \ com. Google. Android. Maps. Jar/system/framework/
ADB push F: \ fatcat \ adbshell \ com. Google. Android. Maps. xml/system/etc/permissions/
ADB push F: \ fatcat \ adbshell \ maps.apk/system/APP/
The premise of these operations is to obtain the root permission (ADB remount) of the device ).