Hello Guys !!! Hope you all are doing well !!!!
In my previous post, I have given detail explanation of AOSP build process and its make command.
Today I am going to list down some famous and useful make and ADB command for android source code build(AOSP).
Android source code build process
Very first time after opening the terminal(Ubuntu/Linux) we have to give following set of command
1. Go to the <aosp_working_dir> ( type cd /u-dir/aosp_android_dir>)
2. then use source source build/envsetup.sh
3. Then use lunch command and choose your lunch option
4. And in the last have to give make -j16 or make -j8 command for build
Below is the some useful make command
1. Seeing the Build Commands
When we build the AOSP, it doesn’t actually show us the commands it’s running. Instead, it prints out only a summary of each step it’s at. If we want to see everything it does
make -j4 showcommands
2. To compile an app
if you want to build .apk file from your <aosp_working_dir> without going to particulat app dir and issueing mm command then use this command.
make app_name.apk -j4
3. Power Menu and Lock screen
make android.policy
4. Framework Changes
make framework (the initial framework files)
make framework-res (the initial framework resources)
5. Update the services changes
make services (the services.jar file)
6. Android SDK build
make sdk (builds the android sdk)
7. Build all Modules
make modules (builds all modules)
8. Build clean or fresh
make installclean (removes all staging directories out/target/product/boardname/system)
make clean (removes the whole /out directory)
make recoveryimage (builds the recovery from /bootable/recovery, customizable if wanted!)
9. Build with latest changes only
make snod - build the system image from the current software binaries
10. Build Everything
make all - make everything, whether it is included in the product definition or not
11. Updating the API
The build systems has safeguards in case you modify the AOSP’s core API. If you do,
the build will fail by default with a warning such as this
You have tried to change the API from what has been previously approved
make update-api
m - execute 'make' from the top of the tree (even if your current directory is somewhere else)
mm - Builds all of the modules in the current directory, but not their dependencies
mmm <dir1> - Builds all of the modules in the supplied directories, but not their dependencies
make framework (the initial framework files)
make framework-res (the initial framework resources)
5. Update the services changes
make services (the services.jar file)
6. Android SDK build
make sdk (builds the android sdk)
7. Build all Modules
make modules (builds all modules)
8. Build clean or fresh
make installclean (removes all staging directories out/target/product/boardname/system)
make clean (removes the whole /out directory)
make recoveryimage (builds the recovery from /bootable/recovery, customizable if wanted!)
9. Build with latest changes only
make snod - build the system image from the current software binaries
10. Build Everything
make all - make everything, whether it is included in the product definition or not
11. Updating the API
The build systems has safeguards in case you modify the AOSP’s core API. If you do,
the build will fail by default with a warning such as this
You have tried to change the API from what has been previously approved
make update-api
Some macros and functions
There are some helper macros and functions that are installed when we set envsetup.sh. Following are most used one :-m - execute 'make' from the top of the tree (even if your current directory is somewhere else)
mm - Builds all of the modules in the current directory, but not their dependencies
mmm <dir1> - Builds all of the modules in the supplied directories, but not their dependencies
mma - Builds all of the modules in the current directory, and their dependencies.
mmma <dir> - Builds all of the modules in the supplied directories, and their dependencies
mm -B : Rebuild the module even it hasn’t any changes.
Some Most used ADB/Fastboot Commands
1. Basic information about devices connected
adb devices
2. Reboot your Device
adb reboot
This command reboots device in normal mode.
3. Reboot into Recovery
adb reboot recovery
Reboot your device into recovery mode, say for flashing a custom ROM.If you have flashed a custom recovery on your device, you will be taken to the same instead of the stock recovery
4. Reboot into Bootloader Mode
adb reboot bootloader
reboot your device into bootloader mode. That is where you can unlock your bootloader, reboot into fastboot and recovery mode, and do some other tasks .
5. Rebbot in Fastboot mode
adb reboot fastboot
it will take your device directly to fastboot mode. The fastboot mode helps you flash custom recoveries as well as custom ROMs on your device
6. Send File to your Device
adb push Source file Destination folder
7. Get File from your Device
adb pull FileLocation Destination folder
8. Install an App on your Device
adb install APKLocation
9. Remount the System
adb remount
10. Get logs of connected device
adb logcat
11. Capture Bugreport
adb bugreport
Shows three element on the screen: dump sys, dump state and logcat data
12. Start ADB server
adb start-server
Starts the ADB server process
12. Stops the ADB server
adb kill-server
Kill the current running ADB server
13. Lunch Remote Shell
adb shell
Launches remote shell console for connected device
14. Help
adb help
Displays the help contents for ADB
15. Sqlite command-line
adb -s emulator-5554 shell (hit enter key)
sqlite3 path of DB
# /data/data/com.example.google.rss.rssexample/databases/rssitems.db
SQLite version 3.3.12
Enter ".help" for instructions
.... enter commands, then quit...
# sqlite> .exit
Use the sqlite3 command-line program to manage SQLite databases created by Android applications
Thanks
Saurabh
Happy Coding...