当前位置: 首页 > news >正文

网站常用布局方法wordpress wp-json

网站常用布局方法,wordpress wp-json,h5开发游戏,岳阳网站开发目录 1 Android代码分层调试 1 打印分层 2 代码目录分层,编译,及替换的so 2 Android java层常用调试手段 1 Java层加打印和打印调用栈 2 sleep 3 打印类名,方法名,文件名和行数 3 Android cpp层常用调试手段 1 cpp层加打印…

目录

1 Android代码分层调试

1 打印分层

2 代码目录分层,编译,及替换的so

2 Android java层常用调试手段

1 Java层加打印和打印调用栈

2 sleep

3 打印类名,方法名,文件名和行数

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 打印类名,方法名,文件名和行数
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层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。

Java Heap:Java层内存

Native Heap:JNI层内存

(2)Total 的 PSS 信息

这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大了。

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驱动的方法_手机-百度经验

adbdriver.zip

重启电脑,adb shell,检查adb驱动是否安装成功

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.yayakq.cn/news/345605/

相关文章:

  • 企业响应式网站建设源码编辑器网页版
  • 国内比较好用的建筑案例网站软件开发网站策划方案
  • 合肥品牌网站建设怎么开发手机app软件
  • 建设网站用什么空间服务器东台网站建设公司
  • jsp网站开发存在的问题seo小白入门教学
  • 写作网站都有哪些电子商务网页设计论文
  • 榆林 网站建设超级ppt市场免费模板
  • 漳州市住房和城乡建设局网站济南轻电商网站建设公司
  • 企业网站的主要功能河北邯郸
  • 企业服务网站开发海外服务器哪家好
  • 做家具城网站的意义巧克力网站模板
  • 著名的网站建设平台销售管理crm
  • 兰州网站设计t型布局网站怎么做
  • php网站开发试题及答案wordpress单页制作
  • 苏州做网站设计的公司有哪些百度一下搜索引擎
  • 山西企业建站方案网站图标 psd
  • 建站之星和凡科建站哪个系统好网页微博
  • 太原做网站的重庆网站建设公司海口
  • 佛山当地网站建设公司vps怎么上传网站程序
  • 甘肃古典建设集团有限公司网站网站建设实施方案ppt
  • 所有复刻手表网站做企业展示型网站
  • wordpress站点标题图片钓鱼网站源码
  • 仿购物网站目录网页平面设计招聘
  • 如何做公司网站建设刚做的网站怎么快速搜索到
  • 福建龙泉建设有限公司网站包头网站建设公司
  • 深圳自适应网站推广价格外发加工单表格模板
  • 手机产品展示网站模板广州交通站场建设管理中心网站
  • 网站建设报价选兴田德润做网页一般多少钱
  • 如何自己注册网站长春网站制作公司哪个好
  • 手机网站 宽度电子规划书商务网站建设