中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

響應式網(wǎng)站費用中國制造網(wǎng)外貿平臺

響應式網(wǎng)站費用,中國制造網(wǎng)外貿平臺,wordpress模板高級破解版,范文寫作網(wǎng)站目錄 1 Android代碼分層調試 1 打印分層 2 代碼目錄分層,編譯,及替換的so 2 Android java層常用調試手段 1 Java層加打印和打印調用棧 2 sleep 3 打印類名,方法名,文件名和行數(shù) 3 Android cpp層常用調試手段 1 cpp層加打印…

目錄

1 Android代碼分層調試

1 打印分層

2 代碼目錄分層,編譯,及替換的so

2 Android java層常用調試手段

1 Java層加打印和打印調用棧

2 sleep

3?打印類名,方法名,文件名和行數(shù)

3 Android cpp層常用調試手段

?1 cpp層加打印和打印調用棧

2 address2line

4 adb調試常用

1 adb shell dumpsys

2 adb shell進入root

3 adb安裝/查找/卸載apk/清除apk緩存

4 adb抓取android圖片

5 安裝adb驅動

6?adb查看進程信息

7 adb push

8 adb fastboot燒機

9 adb remount失敗,顯示"Read-only system?push failed"

10?adb shell getproperty


1 Android代碼分層調試

1 打印分層

1 HYH_SnapdragonCamera:

printDebug.printLine()

2 HYH_frame_base_java:

System.out.println( "HYH_frame_base_java: getPersistedString mKey:" + mKey);

printLine();??

3 HYH_frame_base_jni:

ALOGE("HYH_frame_base_jni: %s (line = %d)", __FUNCTION__, __LINE__);

4 HYH_frame_av:

ALOGE("HYH_frame_av: %s: %d", __FUNCTION__,__LINE__);

5 HYH_hardware_interfaces:

ALOGE("HYH_hardware_interfaces: %s: %d", __FUNCTION__,__LINE__);

6 HYH_vendor_camx:

CAMX_LOG_ERROR(CamxLogGroupHAL, "HYH_vendor_camx:?test");

7 HYH_vendor_chi:

CHX_LOG_ERROR("HYH_vendor_chi:?(thread)%lu",pthread_self());

LOG_ERROR("HYH_vendor_chi:", "XXX");

2 代碼目錄分層,編譯,及替換的so

1 Java層代碼:

caf/packages/apps/SnapdragonCamera

git:caf/packages/apps/SnapdragonCamera

編譯:mm

替換system\priv-app\SnapdragonCamera\SnapdragonCamera.apk

2 Framework層的Java層代碼:

caf/frameworks/base/core/java/android/hardware/camera2

git:caf/frameworks/base/core/java

編譯:make -j48,全編譯

替換system.img

3 Framework層的Jni層代碼:

caf/frameworks/base/core/jni

git: caf/frameworks/base/core/jni

編譯:替換system/lib64/libandroid_runtime.so(64位)

4 Framework層的native層代碼:(aidl的binder)

caf/frameworks/native

git:caf/frameworks/native

編譯:替換libbinder.so

5 Framework層的C層代碼:

caf/frameworks/av

git:caf/frameworks/av

編譯:沒找到部分編譯,先全編譯make -j48

//caf/frameworks/av/services/camera/libcameraservice

替換libcameraservice.so??

//caf/frameworks/av/camera/CameraMetadata.cpp

替換libcamera_client.so(64位)? ?? ??? ?//32位的庫也跑,是其他接口在跑!!!

?? ??

6 Hal層的interfaces層代碼:

caf/hardware/interfaces

git:caf/hardware/interfaces

編譯:沒找到部分編譯,先全編譯make -j48

configureStreams_3_3

替換camera.device@3.3-impl.so

processCaptureRequest?processOneCaptureRequest

替換camera.device@3.2-impl.so??

7 Vendor層的Camx層代碼:

caf/vendor/qcom/proprietary/camx

git:caf/vendor/qcom/proprietary/camx

編譯:mm

替換camera.qcom.so

8 Vendor層的Chi層代碼:

caf/vendor/qcom/proprietary/chi-cdk

git:caf/vendor/qcom/proprietary/chi-cdk

編譯:mm

替換com.qti.chi.override.so

2 Android java層常用調試手段

1 Java層加打印和打印調用棧
Slog.e(TAG,"freeformWindowManagement: " + freeformWindowManagement);Log.e(TAG,"mHasFreeformWorkspaceSupport:" + mHasFreeformWorkspaceSupport);import android.os.Debug;Debug.getCallers(10);

2 sleep
try{Thread.sleep(2000);}catch (Exception e ){}

3?打印類名,方法名,文件名和行數(shù)
public class printDebug {public static void printLine(){StackTraceElement[] trace = new Throwable().getStackTrace();//下標為0的元素是上一行語句的信息, 下標為1的才是調用printLine的地方的信息StackTraceElement tmp = trace[1];System.out.println( "XXX:?"+tmp.getClassName() + "." + tmp.getMethodName()+ "(" + tmp.getFileName() + ":" + tmp.getLineNumber() + ")");}public static void printLine(String content){StackTraceElement[] trace = new Throwable().getStackTrace();//下標為0的元素是上一行語句的信息, 下標為1的才是調用printLine的地方的信息StackTraceElement tmp = trace[1];System.out.println( "XXX:?"+tmp.getClassName() + "." + tmp.getMethodName()+ "(" + tmp.getFileName() + ":" + tmp.getLineNumber() + ")??"+ content);}
}

3 Android cpp層常用調試手段

?1 cpp層加打印和打印調用棧
#include <log/log.h>
ALOGE("xxx.\n");
ALOGE("%s:%s:%d tag:%d", __FILE__,__FUNCTION__,__LINE__,command);#include <utils/CallStack.h>
android::CallStack stack;
stack.update();
stack.log("getStack:", ANDROID_LOG_ERROR, "pre");Android.mk:
LOCAL_SHARED_LIBRARIES += libutils
// 注意:Android P是LOCAL_SHARED_LIBRARIES += libutilscallstack
// 否則如下錯誤 error: undefined reference to 'android::CallStack::update(int, int)'

2 address2line

案例:

4 adb調試常用

1 adb shell dumpsys

[1]?adb shell dumpsys meminfo

adb shell dumpsys meminfo <package_name>

其中,package_name 也可以換成程序的pid,pid可以通過 adb shell ps 來查找

下圖是某個程序的內存使用情況:

重點關注如下幾個字段:

(1)Native/Dalvik 的 Heap 信息

具體在上面的第一行和第二行,它分別給出的是JNI層和Java層的內存分配情況,如果發(fā)現(xiàn)這個值一直增長,則代表程序可能出現(xiàn)了內存泄漏。

Java Heap:Java層內存

Native Heap:JNI層內存

(2)Total 的 PSS 信息

這個值就是你的應用真正占據(jù)的內存大小,通過這個信息,你可以輕松判別手機中哪些程序占內存比較大了。

TOTAL:占用內存總量

最常見內存泄漏的是調用流程問題,如:

在選擇不同jpg時會調用Native_Uninit,但是同一個jpg選擇不同模式時沒有調用Native_Uninit(只調用Native_Process,Native_Process里alloc了內存卻沒有釋放),最終導致內存泄漏。

[2] adb shell dumpsys activity top?????????

顯示當前Activity和View Hierarchy

[3] adb shell dumpsys package com.pingan.smt

查看包的信息

2 adb shell進入root

adb root?? ?? ? //adb root失敗:需要打開USB調試模式!!!

adb remount

adb shell

exit? ? ? ? ?? ??? ?//退出adb shell

3 adb安裝/查找/卸載apk/清除apk緩存

adb install -r -d ishenzhen.apk

adb shell pm list packages -3? ? ??? ? ?//-3 查找apk,不包含預置apk

adb unintall com.pingan.smt

adb shell pm clear com.pingan.smt

4 adb抓取android圖片

adb shell screencap -p /sdcard/DCIM/1.png

adb pull /sdcard/DCIM/1.png ./

5 安裝adb驅動

如何安裝adb驅動 安裝adb驅動的方法_手機-百度經(jīng)驗

adbdriver.zip

重啟電腦,adb shell,檢查adb驅動是否安裝成功

6?adb查看進程信息

adb shell ps

VSZ:虛擬內存

RSS:實際常駐內存

adb shell ps | findstr "portraitlightingeditor"

window下"grep"用的是findstr

7 adb push

adb push C:\Users\xxx\Desktop\camera.sdm660.so /vendor/lib/hw/

注意:adb push so后需要adb reboot!!!

8 adb fastboot燒機

1 adb reboot bootloader

2 運行平臺相關的flash.bat腳本

flash.bat:

echo Start flashing......
fastboot flash abl abl.elffastboot flash system system.img
fastboot flash boot boot.img
fastboot flash vendor vendor.img
fastboot flash userdata userdata.img
fastboot flash persist persist.imgecho Press "enter" to exit
pause
9 adb remount失敗,顯示"Read-only system?push failed"

1. adb root

2. adb remount

3. adb disable-verity

4. adb reboot

5. adb root

6. adb remount

10?adb shell getproperty

adb shell getproperty前需要adb shell setenforce 0

http://www.risenshineclean.com/news/21807.html

相關文章:

  • 住房和城鄉(xiāng)建設部政務服務門戶網(wǎng)站網(wǎng)頁分析工具
  • 電子商務網(wǎng)站技術方案廣州知名網(wǎng)絡推廣公司
  • 公網(wǎng)怎么做網(wǎng)站石家莊疫情
  • 網(wǎng)站主題旁邊的圖標怎么做的88個seo網(wǎng)站優(yōu)化基礎知識點
  • 網(wǎng)站建設走什么科目安順seo
  • 網(wǎng)站建設維護升級網(wǎng)頁制作費用大概多少
  • 畢設代做網(wǎng)站深圳網(wǎng)絡營銷推廣方案
  • 做網(wǎng)站能賺多少丈哥seo博客
  • 自己做個網(wǎng)站需要幾個軟件推廣接單平臺
  • 自己做網(wǎng)站代理產(chǎn)品網(wǎng)絡營銷的概念和含義
  • 哪個網(wǎng)站做海外代購磁力貓torrentkitty官網(wǎng)
  • 住房和城鄉(xiāng)建設部網(wǎng)站造價網(wǎng)絡優(yōu)化行業(yè)的發(fā)展前景
  • 17做網(wǎng)站廣州沙河品牌營銷策劃方案怎么做才好
  • 2015微信網(wǎng)站百度官網(wǎng)推廣
  • 外發(fā)加工網(wǎng)站哪個靠譜整站優(yōu)化快速排名
  • 如何做好網(wǎng)站管理工作pc端百度
  • 如何自己免費建網(wǎng)站哪些平臺可以做推廣
  • 鄭州網(wǎng)站制作推廣公司抖音推廣合作方式
  • 做影視網(wǎng)站有什么風險如何讓百度收錄
  • 江蘇宏澄建設有限公司網(wǎng)站百度秒收錄技術最新
  • 百度關鍵詞優(yōu)化多少錢seo優(yōu)化技術教程
  • 樹在線網(wǎng)頁制作網(wǎng)站今日足球最新預測比分
  • 數(shù)據(jù)資源網(wǎng)站如何做企業(yè)策劃咨詢公司
  • 想讓一個網(wǎng)站上線需要怎么做營銷手機系統(tǒng)安裝
  • 可以做外鏈的圖片網(wǎng)站成都網(wǎng)絡營銷推廣公司
  • 如何做視頻網(wǎng)站流程圖關于營銷的最新的新聞
  • 專做電器的網(wǎng)站域名注冊阿里云
  • 163企業(yè)郵箱收費標準一年多少錢上海谷歌seo推廣公司
  • iis7.5 部署網(wǎng)站寄生蟲seo教程
  • 做素描的網(wǎng)站百度排名點擊軟件