中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
深入理解Android內核設計思想 第2版(上、下冊)

包郵 深入理解Android內核設計思想 第2版(上、下冊)

作者:林學森
出版社:人民郵電出版社出版時間:2017-02-01
開本: 16開 頁數: 996
中 圖 價:¥94.8(6.0折) 定價  ¥158.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

深入理解Android內核設計思想 第2版(上、下冊) 版權信息

深入理解Android內核設計思想 第2版(上、下冊) 本書特色

全書從操作系統的基礎知識入手,全面剖析進程/線程、內存管理、Binder機制、GUI顯示系統、多媒體管理、輸入系統、虛擬機等核心技術在Android中的實現原理。書中講述的知識點大部分來源于工程項目研發,因而具有較強的實用性,希望可以讓讀者“知其然,更知其所以然”。本書分為編譯篇、系統原理篇、應用原理篇、系統工具篇,共4篇25章,基本涵蓋了參與Android開發所需具備的知識,并通過大量圖片與實例來引導讀者學習,以求盡量在源碼分析外為讀者提供更易于理解的思維方式。 本書既適合Android系統工程師,也適合于應用開發工程師來閱讀,從而提升Android開發能力。讀者可以在本書潛移默化的學習過程中更深刻地理解Android系統,并將所學知識自然地應用到實際開發難題的解決中。

深入理解Android內核設計思想 第2版(上、下冊) 內容簡介

基于Android SDK zui新版本 全面剖析了進程/線程、內存管理、Binder機制、GUI顯示系統、多媒體管理、輸入系統等核心知識在Android中的實現原理 Android安全機制 虛擬 內存優化 性能優化 通過大量圖片與實例來引導讀者學習,以求盡量在源碼分析外,為讀者提供更易于理解的思維路徑 由淺入深,由總體框架再到細節實現,讓讀者盡快了解Android內核的設計思想

深入理解Android內核設計思想 第2版(上、下冊) 目錄



目 錄









第1篇 Android編譯篇

第1章 Android系統簡介 2

1.1 Android系統發展歷程 2

1.2 Android系統特點 4

1.3 Android系統框架 8

第2章 Android源碼下載及編譯 11

2.1 Android源碼下載指南 11

2.1.1 基于Repo和Git的

版本管理 11

2.1.2 Android源碼下載流程 12

2.2 原生Android系統編譯指南 16

2.2.1 建立編譯環境 16

2.2.2 編譯流程 19

2.3 定制產品的編譯與燒錄 22

2.3.1 定制新產品 22

2.3.2 Linux內核編譯 26

2.3.3 燒錄/升級系統 27

2.4 Android Multilib Build 28

2.5 Android系統映像文件 31

2.5.1 boot.img 32

2.5.2 ramdisk.img 34

2.5.3 system.img 35

2.5.4 Verified Boot 35

2.6 ODEX流程 37

2.7 OTA系統升級 39

2.7.1 生成升級包 39

2.7.2 獲取升級包 40

2.7.3 OTA升級—Recovery

模式 41

2.8 Android反編譯 44

2.9 NDK Build 46

2.10 第三方ROM的移植 48

第3章 Android編譯系統 50

3.1 Makefile入門 50

3.2 Android編譯系統 52

3.2.1 Makefile依賴樹的概念 53

3.2.2 Android編譯系統抽象

模型 53

3.2.3 樹根節點droid 54

3.2.4 main.mk解析 55

3.2.5 droidcore節點 59

3.2.6 dist_files 61

3.2.7 Android.mk的編寫規則 61

3.3 Jack Toolchain 64

3.4 SDK的編譯過程 68

3.4.1 envsetup.sh 68

3.4.2 lunch sdk-eng 70

3.4.3 make sdk 75

3.5 Android系統GDB調試 85

第2篇 Android原理篇

第4章 操作系統基礎 90

4.1 計算機體系結構

(Computer Architecture) 90

4.1.1 馮 諾依曼結構 90

4.1.2 哈佛結構 90

4.2 什么是操作系統 91

4.3 進程間通信的經典實現 93

4.3.1 共享內存

(Shared Memory) 94

4.3.2 管道(Pipe) 95

4.3.3 UNIX Domain Socket 97

4.3.4 RPC(Remote Procedure Calls) 99

4.4 同步機制的經典實現 100

4.4.1 信號量(Semaphore) 100

4.4.2 Mutex 101

4.4.3 管程(Monitor) 101

4.4.4 Linux Futex 102

4.4.5 同步范例 103

4.5 Android中的同步機制 104

4.5.1 進程間同步——Mutex 104

4.5.2 條件判斷——Condition 105

4.5.3 “柵欄、障礙”

——Barrier 107

4.5.4 加解鎖的自動化操作

——Autolock 108

4.5.5 讀寫鎖——Reader

WriterMutex 109

4.6 操作系統內存管理基礎 110

4.6.1 虛擬內存

(Virtual Memory) 110

4.6.2 內存保護

(Memory Protection) 113

4.6.3 內存分配與回收 113

4.6.4 進程間通信——mmap 114

4.6.5 寫時拷貝技術

(Copy on Write) 115

4.7 Android中的Low

Memory Killer 115

4.8 Android匿名共享內存

(Anonymous Shared Memory) 118

4.8.1 Ashmem設備 118

4.8.2 Ashmem應用實例 122

4.9 JNI 127

4.9.1 Java函數的本地實現 127

4.9.2 本地代碼訪問JVM 130

4.10 Java中的反射機制 132

4.11 學習Android系統的兩條線索 133

第5章 Android進程/線程和

程序內存優化 134

5.1 Android進程和線程 134

5.2 Handler, MessageQueue,

Runnable與Looper 140

5.3 UI主線程——ActivityThread 147

5.4 Thread類 150

5.4.1 Thread類的內部原理 150

5.4.2 Thread休眠和喚醒 151

5.4.3 Thread實例 155

5.5 Android應用程序如何利用

CPU的多核處理能力 157

5.6 Android應用程序的典型啟

動流程 157

5.7 Android程序的內存管理與優化 159

5.7.1 Android系統對內存使用

的限制 159

5.7.2 Android中的內存泄露與

內存監測 160

第6章 進程間通信 — Binder 166

6.1 智能指針 169

6.1.1 智能指針的設計理念 169

6.1.2 強指針sp 172

6.1.3 弱指針wp 173

6.2 進程間的數據傳遞載體

——Parcel 179

6.3 Binder驅動與協議 187

6.3.1 打開Binder驅動

——binder_open 188

6.3.2 binder_mmap 189

6.3.3 binder_ioctl 192

6.4 “DNS”服務器——Service

Manager(Binder Server) 193

6.4.1 ServiceManager的啟動 193

6.4.2 ServiceManager的構建 194

6.4.3 獲取ServiceManager服

務—設計思考 199

6.4.4 ServiceManagerProxy 203

6.4.5 IBinder和BpBinder 205

6.4.6 ProcessState和IPCThreadState 207

6.5 Binder客戶端——Binder Client 237

6.6 Android接口描述語言——AIDL 242

6.7 匿名Binder Server 254

第7章 Android啟動過程 257

7.1 **個系統進程(init) 257

7.1.1 init.rc語法 257

7.1.2 init.rc實例分析 260

7.2 系統關鍵服務的啟動簡析 261

7.2.1 Android的“DNS服務器”

——ServiceManager 261

7.2.2 “孕育”新的線程和進程

——Zygote 261

7.2.3 Android的“系統服務”

——SystemServer 274

7.2.4 Vold和External Storage

存儲設備 276

7.3 多用戶管理 282

第8章 管理Activity和組件運行狀

態的系統進程——Activity ManagerService(AMS) 284

8.1 AMS功能概述 284

8.2 管理當前系統中Activity

狀態——Activity Stack 286

8.3 startActivity流程 288

8.4 完成同一任務的“集合”——Activity Task 296

8.4.1 “后進先出”——Last In,First Out 297

8.4.2 管理Activity Task 298

8.5 Instrumentation機制 300

第9章 GUI系統 — SurfaceFlinger 305

9.1 OpenGL ES與EGL 305

9.2 Android的硬件接口——HAL 307

9.3 Android終端顯示設備的“化身”

——Gralloc與Framebuffer 309

9.4 Android中的本地窗口 313

9.4.1 FramebufferNativeWindow 315

9.4.2 應用程序端的本地窗口——Surface 321

9.5 BufferQueue詳解 325

9.5.1 BufferQueue的內部原理 325

9.5.2 BufferQueue中的緩沖區

分配 328

9.5.3 應用程序的典型繪圖

流程 333

9.5.4 應用程序與BufferQueue

的關系 339

9.6 SurfaceFlinger 343

9.6.1 “黃油計劃”——Project Butter 343

9.6.2 SurfaceFlinger的啟動 347

9.6.3 接口的服務端——Client 351

9.7 VSync的產生和處理 355

9.7.1 VSync信號的產生和

分發 355

9.7.2 VSync信號的處理 361

9.7.3 handleMessageTransaction 363

9.7.4 “界面已經過時/無效,需要重

新繪制”——handleMessage Invalidate 367

9.7.5 合成前的準備工作

——preComposition 369

9.7.6 可見區域

——rebuildLayerStacks 371

9.7.7 為“Composition”搭建環境

——setUpHWComposer 375

9.7.8 doDebugFlashRegions 377

9.7.9 doComposition 377

第10章 GUI系統之“窗口管理員”

—WMS 385

10.1 “窗口管理員”——WMS綜述 386

10.1.1 WMS的啟動 388

10.1.2 WMS的基礎功能 388

10.1.3 WMS的工作方式 389

10.1.4 WMS,AMS與Activity

間的聯系 390

10.2 窗口屬性 392

10.2.1 窗口類型與層級 392

10.2.2 窗口策略

(Window Policy) 396

10.2.3 窗口屬性

(LayoutParams) 398

10.3 窗口的添加過程 400

10.3.1 系統窗口的添加過程 400

10.3.2 Activity窗口的添加

過程 409

10.3.3 窗口添加實例 412

10.4 Surface管理 416

10.4.1 Surface申請流程(relayout) 416

10.4.2 Surface的跨進程傳遞 420

10.4.3 Surface的業務操作 422

10.5 performLayoutAndPlace

SurfacesLockedInner 423

10.6 窗口大小的計算過程 424

10.7 啟動窗口的添加與銷毀 433

10.7.1 啟動窗口的添加 433

10.7.2 啟動窗口的銷毀 437

10.8 窗口動畫 438

10.8.1 窗口動畫類型 439

10.8.2 動畫流程跟蹤——Window

StateAnimator 440

10.8.3 AppWindowAnimator 444

10.8.4 動畫的執行過程 446

第11章 讓你的界面炫彩起來的GUI

系統 — View體系 452

11.1 應用程序中的View框架 452

11.2 Activity中View Tree的

創建過程 455

11.3 在WMS中注冊窗口 461

11.4 ViewRoot的基本工作方式 463

11.5 View Tree的遍歷時機 464

11.6 View Tree的遍歷流程 468

11.7 View和ViewGroup屬性 477

11.7.1 View的基本屬性 477

11.7.2 ViewGroup的屬性 482

11.7.3 View、ViewGroup和

ViewParent 482

11.7.4 Callback接口 482

11.8 “作畫“工具集——Canvas 484

11.8.1 “繪制UI”——Skia 485

11.8.2 數據中介——Surface.

lockCanvas 486

11.8.3 解鎖并提交結果——unlock

CanvasAndPost 490

11.9 draw和onDraw 491

11.10 View中的消息傳遞 497

11.10.1 View中TouchEvent

的投遞流程 497

11.10.2 ViewGoup中Touch-

Event的投遞流程 500

11.11 View動畫 504

11.12 UiAutomator 509

第12章 “問渠哪得清如許,為有源頭

活水來”— InputManager

Service與輸入事件 514

12.1 事件的分類 514

12.2 事件的投遞流程 517

12.2.1 InputManagerService 518

12.2.2 InputReaderThread 519

12.2.3 InputDispatcherThread 519

12.2.4 ViewRootImpl對事件

的派發 523

12.3 事件注入 524

第13章 應用不再同質化 — 音頻系統 526

13.1 音頻基礎 527

13.1.1 聲波 527

13.1.2 音頻的錄制、存儲

與回放 527

13.1.3 音頻采樣 528

13.1.4 Nyquist?CShannon采樣

定律 530

13.1.5 聲道和立體聲 530

13.1.6 聲音定級——Weber?C

Fechner law 531

13.1.7 音頻文件格式 532

13.2 音頻框架 532

13.2.1 Linux中的音頻框架 532

13.2.2 TinyAlsa 534

13.2.3 Android系統中的

音頻框架 536

13.3 音頻系統的核心——Audio-

Flinger 538

13.3.1 AudioFlinger服務的

啟動和運行 538

13.3.2 AudioFlinger對音頻

設備的管理 540

13.3.3 PlaybackThread的

循環主體 547

13.3.4 AudioMixer 551

13.4 策略的制定者——Audio-

PolicyService 553

13.4.1 AudioPolicyService

概述 554

13.4.2 AudioPolicyService

的啟動過程 556

13.4.3 AudioPolicyService

與音頻設備 558

13.5 音頻流的回放——AudioTrack 560

13.5.1 AudioTrack應用實例 560

13.5.2 AudioPolicyService

的路由實現 567

13.6 音頻數據流 572

13.6.1 AudioTrack中的音頻流 573

13.6.2 AudioTrack和AudioFlinger

間的數據交互 576

13.6.3 AudioMixer中的

音頻流 582

13.7 音量控制 584

13.8 音頻系統的上層建筑 588

13.8.1 從功能入手 588

13.8.2 MediaPlayer 589

13.8.3 MediaRecorder 592

13.8.4 一個典型的多媒體

錄制程序 595

13.8.5 MediaRecorder

源碼解析 596

13.8.6 MediaPlayerService簡析 598

13.9 Android支持的媒體格式 600

13.9.1 音頻格式 600

13.9.2 視頻格式 601

13.9.3 圖片格式 601

13.9.4 網絡流媒體 602

13.10 ID3信息簡述 602

13.11 Android多媒體文件管理 606

13.11.1 MediaStore 607

13.11.2 多媒體文件信息的

存儲“倉庫”

——MediaProvider 608

13.11.3 多媒體文件管理中

的“生產者”

—MediaScanner 611



第3篇 應用原理篇

第14章 Intent的匹配規則 616

14.1 Intent屬性 616

14.2 Intent的匹配規則 618

14.3 Intent匹配源碼簡析 624

第15章 APK應用程序的資源適配 628

15.1 資源類型 629

15.1.1 狀態顏色資源 630

15.1.2 圖形資源 631

15.1.3 布局資源 632

15.1.4 菜單資源 633

15.1.5 字符串資源 633

15.1.6 樣式資源 634

15.1.7 其他資源 635

15.1.8 屬性資源 635

15.2 提供可選資源 638

15.3 *佳資源的匹配流程 642

15.4 屏幕適配 644

15.4.1 屏幕適配的重要參數 644

15.4.2 如何適配多屏幕 646

15.4.3 橫豎屏切換的處理 648

第16章 Android字符編碼格式 650

16.1 字符編碼格式背景 650

16.2 ISO/IEC 8859 651

16.3 ISO/IEC 10646 651

16.4 Unicode 652

16.5 String類型 655

16.5.1 構建String 655

16.5.2 String對多種編碼

的兼容 656

第17章 Android和OpenGL ES 660

17.1 3D圖形學基礎 661

17.1.1 計算機3D圖形 661

17.1.2 圖形管線 662

17.2 Android中的OpenGL ES簡介 664

17.3 圖形渲染API—EGL 665

17.3.1 EGL與OpenGL ES 665

17.3.2 egl.cfg 665

17.3.3 EGL接口解析 667

17.3.4 EGL實例 670

17.4 簡化OpenGL ES開發

—GLSurfaceView 670

17.5 OpenGL分析利器

—GLTracer 677

第18章 “系統的UI”——SystemUI 685

18.1 SystemUI的組成元素 685

18.2 SystemUI的實現 687

18.3 Android壁紙資源

—WallpaperService 694

18.3.1 WallPaperManager-

Service 695

18.3.2 ImageWallpaper 697

第19章 Android常用的工具

“小插件”——Widget機制 700

19.1 “功能的提供者”——AppWidgetProvider 700

19.2 AppWidgetHost 702

第20章 Android應用程序

的編譯和打包 707

20.1 “另辟蹊徑”采用第三方工具——Ant 707

20.2 通過命令行編譯和打包APK 708

20.3 APK編譯過程詳解 709

20.4 信息安全基礎概述 711

20.5 應用程序簽名 716

20.6 應用程序簽名源碼簡析 719

20.7 APK重簽名實例 724

第21章 Android虛擬機 725

21.1 Android虛擬機基礎知識 725

21.1.1 Java虛擬機核心概念 725

21.1.2 LLVM編譯器框架 734

21.1.3 Android中的經典

垃圾回收算法 736

21.1.4 Art和Dalvik之爭 738

21.1.5 Art虛擬機整體框架 741

21.1.6 Android應用程序與

虛擬機 742

21.1.7 Procedure Call Standard

for Arm Architecture

(過程調用標準) 744

21.1.8 C 11標準中的新

特性 746

21.2 Android虛擬機核心文件格式

—Dex字節碼 749

21.3 Android虛擬機核心文件格式

—可執行文件的基石ELF 756

21.3.1 ELF文件格式 756

21.3.2 Linux平臺下ELF文件的加載和動態鏈接過程 764

21.3.3 Android Linker和

動態鏈接庫 771

21.3.4 Signal Handler和

Fault Manager 782

21.4 Android虛擬機核心文件格式

——“主宰者”OAT 786

21.4.1 OAT文件格式解析 786

21.4.2 OAT的兩個編譯時機 793

21.5 Android虛擬機的典型

啟動流程 806

21.6 堆管理器和堆空間釋義 815

21.7 Android虛擬機中的線程管理 823

21.7.1 Java線程的創建過程 823

21.7.2 線程的掛起過程 827

21.8 Art虛擬機中的代碼執行

方式綜述 829

21.9 Art虛擬機的“中樞系統”

——執行引擎之Interpreter 836

21.10 Art虛擬機的“中樞系統”——執行引擎之JIT 839

21.10.1 JIT重出江湖的契機 839

21.10.2 Android N版本中JIT

的設計目標及策略 840

21.10.3 Profile Guided Compilation

(追蹤技術) 842

21.10.4 AOT Compilation

Daemon 843

21.11 Art虛擬機的“中樞系統”

——執行引擎之本地代碼 844

21.12 Android x86版本兼容ARM二

進制代碼——Native Bridge 864

21.13 Android應用程序調試

原理解析 871

21.13.1 Java代碼調試與

JDWP協議 872

21.13.2 Native代碼調試 879

21.13.3 利用GDB調試

Android Art虛擬機 885

第22章 Android安全機制透析 887

22.1 Android Security綜述 887

22.2 SELinux 889

22.2.1 DAC 889

22.2.2 MAC 890

22.2.3 基于MAC的SELinux 890

22.3 Android系統安全保護

的三重利劍 892

22.3.1 **劍:Permission

機制 893

22.3.2 加強劍:DAC(UGO)

保護 896

22.3.3 終極劍:SEAndroid 898

22.4 SEAndroid剖析 899

22.4.1 SEAndroid的頂層模型 899

22.4.2 SEAndroid相關的核心

源碼 900

22.4.3 SEAndroid標簽和規則 901

22.4.4 如何在Android系統中

自定義SEAndroid 903

22.4.5 TE文件的語法規則 905

22.4.6 SEAndroid中的核心

主體—init進程 907

22.4.7 SEAndroid中的客體 912

22.5 Android設備Root簡析 913

22.6 APK的加固保護分析 916

第4篇 Android系統工具

第23章 IDE和Gradle 922

23.1 Gradle的核心要點 922

23.1.1 Groovy與Gradle 923

23.1.2 Gradle的生命周期 926

23.2 Gradle的Console語法 927

23.3 Gradle Wrapper和Cache 929

23.4 Android Studio和Gradle 931

23.4.1 Gradle插件基礎知識 931

23.4.2 Android Studio中的

Gradle編譯腳本 932

第24章 軟件版本管理 937

24.1 版本管理簡述 937

24.2 Git的安裝 937

24.2.1 Linux環境下安裝Git 938

24.2.2 Windows環境下

安裝Git 939

24.3 Git的使用 939

24.3.1 基礎配置 939

24.3.2 新建倉庫 940

24.3.3 文件狀態 942

24.3.4 忽略某些文件 943

24.3.5 提交更新 944

24.3.6 其他命令 944

24.4 Git原理簡析 945

24.4.1 分布式版本系統的特點 946































24.4.2 安全散列算法

—SHA-1 947

24.4.3 4個重要對象 948

24.4.4 三個區域 953

24.4.5 分支的概念與實例 954

第25章 系統調試輔助工具 958

25.1 萬能模擬器——Emulator 958

25.1.1 QEMU 958

25.1.2 Android工程中

的QEMU 963

25.1.3 模擬器控制臺

(Emulator Console) 966

25.1.4 實例:為Android

模擬器添加串口功能 969

25.2 此Android非彼Android 970

25.3 快速建立與模擬器或真機的

通信渠道——ADB 972

25.3.1 ADB的使用方法 972

25.3.2 ADB的組成元素 975

25.3.3 ADB源代碼解析 976

25.3.4 ADB Protocol 981

25.4 SDK Layoutlib 984

25.5 TraceView和Dmtracedump 985

25.6 Systrace 987

25.7 代碼覆蓋率統計 992

25.8 模擬GPS位置 995





展開全部

深入理解Android內核設計思想 第2版(上、下冊) 作者簡介

林學森,作者曾于多家跨國企業擔任研發和管理工作,并已在國內外會議、雜志上發表多篇一作文章,獲得多個發明專利。現為某世界500強科技公司高級專家、資深架構師,在業界也比較有影響力。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 鼓风干燥箱_真空烘箱_高温干燥箱_恒温培养箱-上海笃特科学仪器 | 客服外包专业服务商_客服外包中心_网萌科技 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 旋转气浴恒温振荡器-往复式水浴恒温振荡器-金怡百科 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 单锥双螺旋混合机_双螺旋锥形混合机-无锡新洋设备科技有限公司 | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | 市政路灯_厂家-淄博信达电力科技有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 软膜天花_软膜灯箱_首选乐创品牌_一站式天花软膜材料供应商! | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 罗氏牛血清白蛋白,罗氏己糖激酶-上海嵘崴达实业有限公司 | 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 卸料器-卸灰阀-卸料阀-瑞安市天蓝环保设备有限公司 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 |