软件Release版本异常捕获程序(BugReport)
2009-06-08 23:09
483 查看
Android 2010-12-30 13:14:09 阅读913 评论2 字号:大中小订阅
在Android Source Code中有envsetup.sh檔案,當執行過此檔案後,可以大幅將build的過程簡單化、自動化
此檔案在src(android source code 位置)/build/中
所以可以執行以下指令
cd /src/build/
. envsetup.sh
可以使用help來檢示有哪些指令可以使用
Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment:
- croot: Changes directory to the top of the tree.
- m: Makes from the top of the tree.
- mm: Builds all of the modules in the current directory.
- mmm: Builds all of the modules in the supplied directories.
- cgrep: Greps on all local C/C++ files.
- hgrep: Greps on all local C/C++ header files.
- jgrep: Greps on all local Java files.
- mkgrep: Greps on all local make files.
- rcgrep: Greps on all local .rc files.
- resgrep: Greps on all local res/*.xml files.
- shgrep: Greps on all local .sh files.
- godir: Go to the directory containing a file.
其中對模組的編譯有輔助說明的是tapas、m、mm、mmm這幾個指令
其中mmm后面要跟模組的根目錄,不是所有的目錄下都有子模組,那些含有Android.mk檔案目錄才是模組的根目錄,模組名可以從Android.mk的LOCAL_MODULE或者LOCAL_PACKAGE_NAME變數中得到。
單獨編譯某模組,需要在mmm后面指定模組路徑,例如編譯external 中的jpeg
root@ubuntu:/home/android/src# mmm external/jpeg/
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
make: Entering directory `/home/android/src'
Target buildinfo: out/target/product/generic/root/default.prop
Target buildinfo: out/target/product/generic/system/build.prop
Copy: out/target/product/generic/system/etc/apns-conf.xml
make: Leaving directory `/home/android/src'
root@ubuntu:/home/android/src#
或者可用 mm 再欲編譯的模組目錄下執行
root@ubuntu:/home/android/src/external/jpeg# mm
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
make: Entering directory `/home/android/src'
Copy: out/target/product/generic/system/etc/apns-conf.xml
make: Leaving directory `/home/android/src'
root@ubuntu:/home/android/src/external/jpeg#
或者可用 m 編譯全部的模組
root@ubuntu:/home/android/src# m
你也可以在src目錄下直接執行make module name:
打開看 ./external/jpeg/Android.mk
看到裡面模組名稱為 libjpeg
LOCAL_MODULE:= libjpeg
這樣你就可以直接打模組名稱編譯
cd ~/android/src
make libjpeg
也可以在登入時自動執行此 script,編輯 ~/.bashrc 或其他 shell 的 rc 檔,加入此 script 即可
# invoke android envsetup.sh
source ~/android/build/envsetup.sh
在Android Source Code中有envsetup.sh檔案,當執行過此檔案後,可以大幅將build的過程簡單化、自動化
此檔案在src(android source code 位置)/build/中
所以可以執行以下指令
cd /src/build/
. envsetup.sh
可以使用help來檢示有哪些指令可以使用
Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment:
- croot: Changes directory to the top of the tree.
- m: Makes from the top of the tree.
- mm: Builds all of the modules in the current directory.
- mmm: Builds all of the modules in the supplied directories.
- cgrep: Greps on all local C/C++ files.
- hgrep: Greps on all local C/C++ header files.
- jgrep: Greps on all local Java files.
- mkgrep: Greps on all local make files.
- rcgrep: Greps on all local .rc files.
- resgrep: Greps on all local res/*.xml files.
- shgrep: Greps on all local .sh files.
- godir: Go to the directory containing a file.
其中對模組的編譯有輔助說明的是tapas、m、mm、mmm這幾個指令
其中mmm后面要跟模組的根目錄,不是所有的目錄下都有子模組,那些含有Android.mk檔案目錄才是模組的根目錄,模組名可以從Android.mk的LOCAL_MODULE或者LOCAL_PACKAGE_NAME變數中得到。
單獨編譯某模組,需要在mmm后面指定模組路徑,例如編譯external 中的jpeg
root@ubuntu:/home/android/src# mmm external/jpeg/
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
make: Entering directory `/home/android/src'
Target buildinfo: out/target/product/generic/root/default.prop
Target buildinfo: out/target/product/generic/system/build.prop
Copy: out/target/product/generic/system/etc/apns-conf.xml
make: Leaving directory `/home/android/src'
root@ubuntu:/home/android/src#
或者可用 mm 再欲編譯的模組目錄下執行
root@ubuntu:/home/android/src/external/jpeg# mm
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
make: Entering directory `/home/android/src'
Copy: out/target/product/generic/system/etc/apns-conf.xml
make: Leaving directory `/home/android/src'
root@ubuntu:/home/android/src/external/jpeg#
或者可用 m 編譯全部的模組
root@ubuntu:/home/android/src# m
你也可以在src目錄下直接執行make module name:
打開看 ./external/jpeg/Android.mk
看到裡面模組名稱為 libjpeg
LOCAL_MODULE:= libjpeg
這樣你就可以直接打模組名稱編譯
cd ~/android/src
make libjpeg
也可以在登入時自動執行此 script,編輯 ~/.bashrc 或其他 shell 的 rc 檔,加入此 script 即可
# invoke android envsetup.sh
source ~/android/build/envsetup.sh
相关文章推荐
- 软件Release版本异常捕获程序(BugReport)
- 软件Release版本异常捕获程序(BugReport)
- 软件Release版本异常捕获程序(BugReport)
- Windows系统上release版本程序bug跟踪解决方案(1)-日志记录
- release版本程序调用libvlc接口出现异常
- Windows系统上release版本程序bug跟踪解决方案-.dmp文件。
- 反汇编定位release版本程序bug
- release版本程序调用libvlc接口出现异常 .
- release版本程序调用libvlc接口出现异常
- release版本程序调用libvlc接口出现异常
- release版本程序调用libvlc接口出现异常
- IOS 捕获程序异常
- 为 VC6 程序的 Release 版本添加调试信息
- VC下发布的Release版程序的异常捕捉
- Debug与Release版本程序运行速度的比较
- vc6 运行库的bug---C++程序稳定运行一段时间后异常中止
- Android_程序未处理异常的捕获与处理
- 程序异常捕获一个不留
- android 程序全局自动捕获异常 专制系统奔溃,异常退出无法找到原因的问题
- 如何调试程序的 Release 版本