韌館-LearnHouse

Archive for 1 月, 2018

理解 Android Build 系统

覺得很值得越讀的好文章,備份一下。
來源:https://www.ibm.com/developerworks/cn/opensource/os-cn-android-build/
2018/3/5: 新增部分敘述不完整或錯誤敘述
2018/3/21: 新增快速build指定的image

前言

Android Build 系統是 Android 源碼的一部分。關於如何獲取 Android 源碼,請參照 Android Source 官方網站:

http://source.android.com/source/downloading.html

Android Build 系統用來編譯 Android 系統,Android SDK 以及相關文檔。該系統主要由 Make 文件,Shell 腳本以及 Python 腳本組成,其中最主要的是 Make 文件。

眾所周知,Android 是一個開源的操作系統。Android 的源碼中包含了大量的開源項目以及許多的模塊。不同產商的不同設備對於 Android 系統的定製都是不一樣的。

如何將這些項目和模塊的編譯統一管理起來,如何能夠在不同的操作系統上進行編譯,如何在編譯時能夠支持面向不同的硬件設備,不同的編譯類型,且還要提供面向各個產商的定製擴展,是非常有難度的。 Read more...

2018年1 月 posted by admin in 程式&軟體 and have No Comments

[轉]Parsing a C/C++ struct in Java

這是一篇備份的文章,預防之後消失,來源是
http://jnkjava.blogspot.tw/2013/06/parsing-cc-struct-in-java.html

Assume you are a "lucky" guy that your Java application interfaces with a C/C++ application (e.g. a kind of server) which sends you some kind of TCP/UDP network messages you need to parse. An example such C/C++ structure is shown below:

Read more...

2018年1 月 posted by admin in 程式&軟體 and have No Comments

[Android]常用ADB Shell

列出package name

pm list packages

列出apk位置

pm list packages -f

啟動app

am start -n <package name>/<main activity>

ex. am start -n com.package.name/.NameActivity

關閉app

am force-stop <package name>

從apk查package name & activity

aapt dump xmltree Sample.apk AndroidManifest.xml

Read more...

2018年1 月 posted by admin in 程式&軟體 and have No Comments