日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

m,mm,mmm的用法

發布時間:2023/12/13 综合教程 39 生活家
生活随笔 收集整理的這篇文章主要介紹了 m,mm,mmm的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通過查看android源碼目錄下的build/envsetup.sh文件,可知:

- 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.


要想使用這些命令,首先需要在android源碼根目錄執行.build/envsetup.sh

m:編譯所有的模塊
mm:編譯當前目錄下的模塊,當前目錄下要有Android.mk文件
mmm:編譯指定路徑下的模塊,指定路徑下要有Android.mk文件

下面舉個例子說明,假設我要編譯android下的libjpeg模塊,當前目錄為源碼根目錄,方法如下:

1、. build/envsetup.sh
2、mmm external/jpeg/

或者 :

1、. build/envsetup.sh(.和build之間有空格)
2、cd external/jpeg
3、mm


最后說明一下,envsetup.sh只要source一次就夠了,source之后還可以用croot命令返回到源碼根目錄,很好用。

1、 修改APK應用:在packages中的應用如果修改后都可以單獨編譯。先執行
$. build/envsetup.sh #初始化
$mmm packages/providers/ContactsProvider/
##用mm/mmm來編譯生成的.apk并不會打包到system.img中,需要我們手動通過make snod把system文件夾打包為system.img
##可以使用make snod將模塊打包到system.img中,也可以使用 adb install *.apk安裝
注:通過mmm packages/providers/ContactsProvider/ 編譯后的apk在 out/target/product/generic/system/app
這時候通過 adb install out/target/product/generic/system/app/xxx.apk 安裝你剛修改過的apk就可以在模擬器上看到你修改的效果了。

adb push方式進去:

adb shell mount -o rw,remount -t ext3 /dev/block/mmcblk0p2 /system 掛載并獲取寫入權限
adb push xxx.apk /system/app

修改framework:如果在Contacts.java中修改了,必須重新編譯下framework。先執行
$ . build/envsetup.sh #初始化
#網上有的說要執行 make update-api,實際上直接make PRODUCT-sdk-sdk就可以將修改后的framework編譯到sdk中。 #編譯framework后,那些修改了的應用可以不用再單獨編譯了。4~6分鐘
$ make PRODUCT-sdk-sdk #重新生成SDK 10~20分鐘

2.三個m的含義

以下是在help中看到的信息

- 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.

m,顯然是make

mm ,在編譯單一模塊的時候可以在當前目錄下使用

mmm 可以在android目錄下使用

3、不是android的一個,但是經常用。make 2&>txt

將make的信息輸出到txt中,如果make > txt則無法輸入

LinuxShell 環境中支持輸入輸出重定向,用符號"<"和">"來表示。0、1和2分別表示標準輸入、標準輸出和標準錯誤信息輸出,可以用來指定需要重定向的標準輸入或輸出

make &>test

表示標準和錯誤全部輸出

4、make -n &>txt

make -n 是現實編譯命令,但是不去執行,非常有用

5.顯示詳細的編譯過程信息(ndk)

在definitions.mk中有定義。

ifeq ($(V),1)
hide = $(empty)
else
hide = @
endif

要想把所有的編譯命令輸出來,只需要先export V=1就可以了。

輸出NDK詳細log

$NDK/ndk-build V=1 2>&1 | tee log.txt

Android NDK 打印log


1. 在c源文件中,需要include頭文件、定義宏
#define LOG_TAG "TestLib" //自定義的變量,相當于logcat函數中的tag
#undef LOG
#include <android/log.h> //#include <utils/Log.h>//在源碼環境中,頭文件的路徑不同
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
可以定義多種log級別,在log.h中可以看到:

typedef enum android_LogPriority {
ANDROID_LOG_UNKNOWN = 0,
ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
} android_LogPriority;

2. 在c源文件中,調用輸入log的函數
LOGD("Hello LIB!
");//將會輸出“TestLib” “Hello LIB!”
3.在mk文件中,需要包含響應的庫
LOCAL_C_INCLUDES := $(JNI_H_INCLUDE) //包含相應的頭文件
LOCAL_LDLIBS := -llog //包含打印log需要的庫文件
LOCAL_PRELINK_MODULE := false

總結

以上是生活随笔為你收集整理的m,mm,mmm的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲第一区在线观看 | 亚洲91网站 | 久久久久久久久久久97 | 国产午夜精品一区二区三区 | 国产美女永久免费无遮挡 | 精品在线一区二区 | 秋霞网一区二区 | 国产中文字幕第一页 | 亚洲免费视频网 | 一区二区三区日韩电影 | 免费av网站观看 | 久久久久亚洲AV成人无在 | 一区三区视频在线观看 | 日韩成人无码 | 色婷婷国产精品视频 | 中文天堂在线视频 | 日本少妇videos高潮 | 超碰97免费 | gav成人 | 免费福利视频在线观看 | 熟女视频一区二区三区 | 免费观看已满十八岁 | 蜜臀av免费一区二区三区水牛 | 福利片在线播放 | 无码免费一区二区三区 | 国产免费成人在线视频 | 三年大片在线观看 | 天天色天天 | 国产精品二区一区二区aⅴ污介绍 | 免费在线h | 性一交一黄一片 | 欧美抠逼视频 | 日本天天操 | 国产一区二区三区在线免费观看 | 活大器粗np高h一女多夫 | aaaaa级少妇高潮大片免费看 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 黄网站免费大全入口 | 欧美黑人三级 | 亚洲av无码片一区二区三区 | 国产www在线 | 一级丰满大乳hd高清 | 中文字幕精品久久久久人妻红杏ⅰ | 久操社区 | 亚洲国产精品久久久久婷婷老年 | 乱一色一乱一性一视频 | 91国内精品野花午夜精品 | 日本美女一区二区 | 啪啪国产精品 | 日韩大片免费观看视频播放 | 久久久av网站 | 欧美人与禽猛交乱配 | 午夜做爰xxxⅹ性高湖视频美国 | 欧美日韩不卡在线 | 国产精品老女人 | 亚洲一区二区三区综合 | 永久免费看mv网站入口亚洲 | 69精品在线| 成人av在线网站 | 天天躁日日躁狠狠躁av麻豆 | 午夜激情一区 | 99自拍视频 | 性欢交69精品久久久 | 三级特黄 | 波多野结衣电影在线播放 | 一级免费观看视频 | 美女交配 | 欧美 国产 综合 | 嫩草一区 | 免费观看黄色一级视频 | 波多野结衣三级视频 | 免费黄色短片 | 99热1| 国产欧美日韩在线播放 | 亚州黄色 | 性大毛片视频 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲欧洲一级 | 中文字幕在线永久 | 欧美三级午夜理伦三级老人 | 日韩欧美一二三四区 | 亚洲国产成人va在线观看天堂 | 四虎久久久 | 久久接色 | 欧亚av在线| 美女张开双腿让男人捅 | gav在线 | 黄色片免费观看视频 | 国产农村熟妇videos | 狠久久 | 国产精品久久久 | www.日批 | 欧美hdxxxx | 日韩伦理一区二区 | 亚洲精品成人区在线观看 | 直接看的毛片 | 日韩黄色片免费看 | 波多野结衣激情视频 | missav | 免费高清av在线看 |