In the debugging process, you need to modify the data in the database, this time to use the Sqlite3 tool, you can easily debug
Because the data connection cannot be opened on the interface, you can only open it by modifying the database
Let's take a look at how to modify mobile_data data in table global
[email protected]:~$ ADB rootadbd is already running as root[email protected]:~$ adb remountremount succeeded[ email protected]:~$ ADB shell[email protected]:/# CD Data/da dalvik-cache/data/data_tmpfs_log/[email protected]:/# CD Data/dat data/data_tmpfs_log/[email protected]:/# CD Data/data/com.android.providers.settings [Email protected]:/data/data/com.android.providers.settings # Lsdatabaseslib[email protected]: /data/data/com.android.providers.settings # CD databases [email protected]:/data/data/com.android.providers . settings/databases # Lssettings.dbsettings.db-journalqlite3 Settings.db <sqlite version 3.8.6 2014-08-15 11:46:33enter ". Help" for usage hints.sqlite>. Tableandroid_metadata bo Okmarks Secure Bluetooth_devices Global System sqlite> SELECT * from global; 1|airplane_mode_on|02|airplane_mode_radios|cell,bluetooth,wifi,nfc,wimax3|airplane_mode_toggleable_radios| Bluetooth,wifi,nfc4|assisted_gps_enabled|15|auto_time|16|auto_time_zone|17|stay_on_while_plugged_in|08|wifi_ sleep_policy|29|mode_ringer|210|package_verifier_enable|112|wifi_networks_available_notification_on|113| bluetooth_on|014|cdma_cell_broadcast_sms|115|data_roaming|018|netstats_enabled|119|install_non_market_apps|020 |usb_mass_storage_enabled|121|wifi_max_dhcp_retry_count|922|wifi_display_on|023|lock_sound|/system/media/audio /ui/lock.ogg24|unlock_sound|/system/media/audio/ui/unlock.ogg25|trusted_sound|/system/media/audio/ui/ Trusted.ogg26|power_sounds_enabled|127|low_battery_sound|/system/media/audio/ui/lowbattery.ogg28|dock_sounds_ enabled|029|desk_dock_sound|/system/media/audio/ui/dock.ogg30|desk_undock_sound|/system/media/audio/ui/ Undock.ogg31|car_dock_sound|/system/media/audio/ui/dock.ogg32|car_undock_sound|/system/media/audio/ui/undock.ogg33|wireless_charging_started_sound|/system/media /audio/ui/wirelesschargingstarted.ogg34|dock_audio_media_enabled|135|set_install_location|036|default_install_ Location|037|emergency_tone|038|call_auto_retry|040|subscription_mode|041|low_battery_sound_timeout|042|wifi_ scan_always_enabled|143|heads_up_notifications_enabled|144|device_name| gn900645|guest_user_enabled|146|data_roaming_2|047|auto_time_gps|048|wifi_passpoint_on|149|wifi_auto_join|150| telephony_misc_feature_config|251|ims_switch|152|wifi_watchdog_on|153|wifi_display_display_toast_time|2054| Wifi_display_notification_time|6055|wifi_display_sqc_info_on|056|wifi_display_qe_on|157|wifi_display_auto_ Channel_selection|058|wifi_display_max_resolution|259|wifi_display_power_saving_option|160|wifi_display_power_ saving_delay|1061|wifi_display_latency_profiling|262|wifi_display_chosen_capability|63|wifi_display_wifi_info| 0,0,0,064|wifi_display_wfd_latency|0,0,065|wifi_display_sEcurity_option|166|adb_enabled|167|network_scoring_provisioned|168|device_provisioned|169|world_phone_auto_ select_mode|170|world_phone_fdd_modem_timer|6071|multi_sim_common|172|multi_sim_sms|173|multi_sim_voice_call| 175|audio_safe_volume_state|376|mobile_data|177|wifi_country_code|cn81|multi_sim_data_call|185|require_ Password_to_decrypt|186|preferred_network_mode|987|user_preferred_network_mode|989|wifi_on|1sqlite> SQLite > Update global set value= ' 0 ' where name= ' mobile_data '; Sqlite> sqlite> SELECT * from Global;1|airplane_mode_on|02|airplane_mode_radios|cell,blu etooth,wifi,nfc,wimax3|airplane_mode_toggleable_radios|bluetooth,wifi,nfc4|assisted_gps_enabled|15|auto_time| 16|auto_time_zone|17|stay_on_while_plugged_in|08|wifi_sleep_policy|29|mode_ringer|210|package_verifier_enable| 112|wifi_networks_available_notification_on|113|bluetooth_on|014|cdma_cell_broadcast_sms|115|data_roaming|018| Netstats_enabled|119|install_non_market_apps|020|usb_mass_storage_enabled|121|wifi_max_dhcp_retry_count|922|wifi_display_on|023|lock_sound|/system/media/ audio/ui/lock.ogg24|unlock_sound|/system/media/audio/ui/unlock.ogg25|trusted_sound|/system/media/audio/ui/ Trusted.ogg26|power_sounds_enabled|127|low_battery_sound|/system/media/audio/ui/lowbattery.ogg28|dock_sounds_ enabled|029|desk_dock_sound|/system/media/audio/ui/dock.ogg30|desk_undock_sound|/system/media/audio/ui/ undock.ogg31|car_dock_sound|/system/media/audio/ui/dock.ogg32|car_undock_sound|/system/media/audio/ui/ Undock.ogg33|wireless_charging_started_sound|/system/media/audio/ui/wirelesschargingstarted.ogg34|dock_audio_ media_enabled|135|set_install_location|036|default_install_location|037|emergency_tone|038|call_auto_retry|040 |subscription_mode|041|low_battery_sound_timeout|042|wifi_scan_always_enabled|143|heads_up_notifications_ enabled|144|device_name| gn900645|guest_user_enabled|146|data_roaming_2|047|auto_time_gps|048|wifi_passpoint_on|149|wifi_auto_join|150| Telephony_misc_fEature_config|251|ims_switch|152|wifi_watchdog_on|153|wifi_display_display_toast_time|2054|wifi_display_ Notification_time|6055|wifi_display_sqc_info_on|056|wifi_display_qe_on|157|wifi_display_auto_channel_selection |058|wifi_display_max_resolution|259|wifi_display_power_saving_option|160|wifi_display_power_saving_delay|1061 |wifi_display_latency_profiling|262|wifi_display_chosen_capability|63|wifi_display_wifi_info|0,0,0,064|wifi_ display_wfd_latency|0,0,065|wifi_display_security_option|166|adb_enabled|167|network_scoring_provisioned|168| device_provisioned|169|world_phone_auto_select_mode|170|world_phone_fdd_modem_timer|6071|multi_sim_common|172| multi_sim_sms|173|multi_sim_voice_call|175|audio_safe_volume_state|376|mobile_data|077|wifi_country_code|cn81| Multi_sim_data_call|185|require_password_to_decrypt|186|preferred_network_mode|987|user_preferred_network_mode |989|wifi_on|1sqlite>
The above procedure changes the data mobile_data in settings.db database table global from 1 to 0
Let's look at some of the commands for viewing the database:
. Database to view information about databases
sqlite>. DATABASESEQ name file --- --------------- ------------------------------------- ---------------------0 Main
. table to view the names of tables
sqlite>. Tablealbum_art audio_genres log album_info audio_genres_map search Albums audio_genres_map_noid searchhelpertitle android_metadata audio_meta thumbnails Artist_info audio_playlists video artists Audio_playlists_map videothumbnails Artists_albums_map Files audio images
. Schema command to view SQL commands when creating a data table
sqlite>. Schemacreate TABLE Album_art (album_id INTEGER PRIMARY key,_data TEXT); CREATE TABLE Albums (album_id INTEGER PRIMARY key,album_key text NOT null unique,album text NOT NULL, Album_pinyin_key TEX T); CREATE TABLE android_metadata (locale TEXT); CREATE TABLE Artists (artist_id INTEGER PRIMARY key,artist_key text NOT null unique,artist text NOT NULL, Artist_pinyin_ke Y TEXT); CREATE TABLE audio_genres (_id INTEGER PRIMARY key,name TEXT not NULL); CREATE TABLE "Audio_genres_map" (_id integer PRIMARY key,audio_id integer not null,genre_id integer not Null,unique (audio _id,genre_id) on CONFLICT IGNORE); CREATE TABLE audio_playlists_map (_id integer PRIMARY key,audio_id integer not null,playlist_id integer not Null,play_orde R INTEGER not NULL); CREATE TABLE "Files" (_id integer PRIMARY KEY autoincrement,_data TEXT UNIQUE COLLATE nocase,_size integer,format INTEGER, Parent integer,date_added integer,date_modified integer,mime_type text,title text,description TEXT,_display_name TEXT , picasa_id Text,orientation integer,latitude double,longitude double,datetaken integer,mini_thumb_magic INTEGER,bucket_id TEXT, Bucket_display_name text,isprivate integer,title_key text,artist_id integer,album_id INTEGER,composer TEXT,track Integer,year INTEGER CHECK (year!=0), Is_ringtone integer,is_music integer,is_alarm integer,is_notification INTEGER,is _podcast integer,album_artist text,duration integer,bookmark integer,artist text,album TEXT,resolution TEXT,tags TEXT, Category Text,language Text,mini_thumb_data text,name text,media_type integer,old_id integer,storage_id INTEGER,is_ DRM integer,width INTEGER, height Integer,drm_content_uri text,drm_offset integer,drm_datalen integer,drm_rights_ Issuer Text,drm_content_name text,drm_content_description Text,drm_content_vendor Text,drm_icon_uri TEXT,drm_method Integer,title_pinyin_key text,name_pinyin_key text,file_name text,file_type integer default 0,group_id integer default 0,group_index integer default 0,focus_value_high integer default 0,focus_Value_low integer default 0,is_best_shot integer default 0,group_count integer default 0,is_live_photo integer default 0, Slow_motion_speed TEXT, Is_record INTEGER DEFAULT 0); CREATE TABLE "Log" (Time DATETIME, message TEXT); CREATE TABLE thumbnails (_id integer PRIMARY key,_data text,image_id integer,kind integer,width integer,height integer); CREATE TABLE videothumbnails (_id INTEGER PRIMARY key,_data text,video_id integer,kind integer,width integer,height INTEG ER); CREATE VIEW Album_info as SELECT audio.album_id as _id, album, Album_key, Album_pinyin_key,min (year) as Minyear, MAX (year) As Maxyear, artist, artist_id, Artist_key, Artist_pinyin_key,count (*) as numsongs,album_art._data as Album_art from audio Left OUTER JOIN album_art in audio.album_id=album_art.album_id WHERE is_music=1 GROUP by audio.album_id; CREATE VIEW Artist_info as SELECT artist_id as _id, artist, Artist_key, Artist_pinyin_key,count (DISTINCT album_key) as Num Ber_of_albums, COUNT (*) as number_of_tracks from audio WHERE Is_music=1 GROUP by Artist_key; CREATE VIEW Artists_albums_map as SELECT DISTINCT artist_id, album_id from Audio_meta; CREATE VIEW Audio as SELECT * from Audio_meta left OUTER JOIN artists on audio_meta.artist_id=artists.artist_id left OUTER JOIN albums on audio_meta.album_id=albums.album_id; CREATE VIEW audio_genres_map_noid as SELECT audio_id,genre_id from Audio_genres_map; CREATE VIEW Audio_meta as SELECT _id,_data,_display_name,_size,mime_type,date_added,is_drm,date_modified,title, Title_key,duration,artist_id,composer,album_id,track,year,is_ringtone,is_music,is_alarm,is_notification,is_ Podcast,bookmark,album_artist,drm_content_uri,drm_offset,drm_datalen,drm_rights_issuer,drm_content_name,drm_ Content_description,drm_content_vendor,drm_icon_uri,drm_method,title_pinyin_key,is_record from Files WHERE Media_ type=2; CREATE VIEW audio_playlists as SELECT _id,_data,name,date_added,date_modified,name_pinyin_key from files WHERE Media_ type=4; CREATE VIEW images as SELECT _id,_data,_size,_display_Name,mime_type,title,date_added,date_modified,description,picasa_id,isprivate,latitude,longitude,datetaken, Orientation,mini_thumb_magic,bucket_id,bucket_display_name,width,height,is_drm,drm_content_uri,drm_offset,drm_ Datalen,drm_rights_issuer,drm_content_name,drm_content_description,drm_content_vendor,drm_icon_uri,drm_method, Group_id,group_index,focus_value_high,focus_value_low,is_best_shot,group_count from files WHERE media_type=1; CREATE VIEW Search as SELECT _id, ' artist ' as mime_type,artist,null as album,null as title,artist as text1,null as Text2,nu Mber_of_albums as data1,number_of_tracks as data2,artist_key as match, ' content://media/external/audio/artists/' | | _id as suggest_intent_data,1 as GroupOrder from Artist_info WHERE (artist!= ' <unknown> ') UNION all SELECT _id, ' album ' As mime_type,artist,album,null as title,album as text1,artist as text2,null as data1,null as data2,artist_key| | ' '|| Album_key as match, ' content://media/external/audio/albums/' | | _id as suggest_intent_data,2As GroupOrder from Album_info WHERE (album!= ' <unknown> ') UNION all SELECT searchhelpertitle._id as _id,mime_type,ar Tist,album,title,title as text1,artist as text2,null as data1,null as data2,artist_key| | ' '|| album_key| | ' '|| Title_key as match, ' content://media/external/audio/media/' | | searchhelpertitle._id as suggest_intent_data,3 as GroupOrder from Searchhelpertitle WHERE (title! = "); CREATE VIEW Searchhelpertitle as SELECT * from audio ORDER by Title_key; CREATE VIEW Video as SELECT _id,_data,_display_name,_size,mime_type,date_added,date_modified,title,duration,artist, Album,resolution,description,isprivate,tags,category,language,mini_thumb_data,latitude,longitude,datetaken, Mini_thumb_magic,bucket_id,bucket_display_name,bookmark,width,height,is_drm,drm_content_uri,drm_offset,drm_ Datalen,drm_rights_issuer,drm_content_name,drm_content_description,drm_content_vendor,drm_icon_uri,drm_method, Is_live_photo,slow_motion_speed,orientation from files WHERE media_type=3; CREATE INDEX album_id_idx on files (album_id); CREATE INDEX Album_idx on albums (album); CREATE INDEX Albumkey_index on albums (Album_key); CREATE INDEX Albumpinyinkey_index on albums (Album_pinyin_key); CREATE INDEX artist_id_idx on files (artist_id); CREATE INDEX artist_idx on artists (artist); CREATE INDEX Artistkey_index on artists (Artist_key); CREATE INDEX Artistpinyinkey_index on artists (Artist_pinyin_key); CREATE INDEX bucket_index on files (Bucket_id,media_type,datetaken, _id); CREATE INDEX bucket_name on files (bucket_id,media_type,bucket_display_name); CREATE INDEX format_index on files (format); CREATE INDEX image_id_index on thumbnails (image_id); CREATE INDEX media_type_index on files (media_type); CREATE INDEX Parent_index on files (parent); CREATE INDEX path_index on files (_data); CREATE INDEX sort_index on files (datetaken ASC, _id ASC); CREATE INDEX title_idx on files (title); CREATE INDEX titlekey_index on files (title_key); CREATE INDEX Video_id_index on Videothumbnails (video_id); CREATE TRIGGER albumart_cleanup1 DELETEOn albums BEGIN DELETE from Album_art WHERE album_id = old.album_id; END; CREATE TRIGGER albumart_cleanup2 DELETE on Album_art BEGIN SELECT _delete_file (old._data); END; CREATE TRIGGER audio_genres_cleanup Delete on Audio_genres BEGIN DELETE from audio_genres_map WHERE genre_id = old._id;end ; CREATE TRIGGER Audio_playlists_cleanup Delete on files when old.media_type=4 BEGIN DELETE from Audio_playlists_map WHERE p laylist_id = old._id; SELECT _delete_file (Old._data); END; CREATE TRIGGER files_cleanup DELETE on files BEGIN SELECT _object_removed (old._id); End;sqlite>
. Schema table_name command to view SQL when creating table table_name
sqlite>. Schema files CREATE TABLE "Files" (_id INTEGER PRIMARY KEY autoincrement,_data TEXT UNIQUE COLLATE nocase, _size integer,format integer,parent integer,date_added integer,date_modified integer,mime_type TEXT,title TEXT, Description Text,_display_name text,picasa_id text,orientation integer,latitude double,longitude DOUBLE,datetaken Integer,mini_thumb_magic integer,bucket_id text,bucket_display_name text,isprivate INTEGER,title_key TEXT,artist_id integer,album_id integer,composer text,track integer,year integer CHECK (year!=0), Is_ringtone integer,is_music integer , Is_alarm integer,is_notification integer,is_podcast integer,album_artist text,duration INTEGER,bookmark INTEGER, Artist Text,album text,resolution text,tags text,category text,language text,mini_thumb_data TEXT,name TEXT,media_type integer,old_id integer,storage_id integer,is_drm integer,width INTEGER, height Integer,drm_content_uri TEXT,drm_ Offset Integer,drm_datalen Integer,drm_rights_issuer text,drm_content_name TExt,drm_content_description Text,drm_content_vendor Text,drm_icon_uri Text,drm_method INTEGER,title_pinyin_key TEXT , Name_pinyin_key text,file_name text,file_type integer default 0,group_id integer default 0,group_index integer default 0 , focus_value_high integer default 0,focus_value_low integer default 0,is_best_shot integer default 0,group_count integer Default 0,is_live_photo integer default 0, Slow_motion_speed TEXT, Is_record integer default 0); CREATE INDEX album_id_idx on files (album_id); CREATE INDEX artist_id_idx on files (artist_id); CREATE INDEX bucket_index on files (Bucket_id,media_type,datetaken, _id); CREATE INDEX bucket_name on files (bucket_id,media_type,bucket_display_name); CREATE INDEX format_index on files (format); CREATE INDEX media_type_index on files (media_type); CREATE INDEX Parent_index on files (parent); CREATE INDEX path_index on files (_data); CREATE INDEX sort_index on files (datetaken ASC, _id ASC); CREATE INDEX title_idx on files (title); CREATE INDEX Titlekey_index on filES (Title_key); CREATE TRIGGER Audio_playlists_cleanup Delete on files when old.media_type=4 BEGIN DELETE from Audio_playlists_map WHERE p laylist_id = old._id; SELECT _delete_file (Old._data); END; CREATE TRIGGER files_cleanup DELETE on files BEGIN SELECT _object_removed (old._id); End;sqlite>
. Quit Quit Command line interface
Android on ADB operation sqlite3 Modify table data