飞思卡尔 imx6 android 调试环境搭建

提取adb root权限

 /system/core/adb/adb.c 中

清空 should_drop_privileges 返回0


修改defaut.prop

ro.secure=0
ro.allow.mock.location=0
ro.debuggable=1
#persist.sys.usb.config=mtp
persist.sys.usb.config=adb

 

源码在

/build/core/main.mk  

中修改



关闭秘钥认证

/root/init.rc中

#  Enable adb security for JB4.2.2
    setprop ro.adb.secure 1

将 1 改成 0


修改 磁盘可写权限

/root/fstab.freescale

/dev/block/mmcblk0p5    /system      ext4    ro 
将ro改成 rw


chmod  XX  /system/


不过有了root权限可以手动改

mount –o rw,remount –t ext4 /dev/block/mmcblk0p5 /system

chmod  xxx

 就可以体验adb push  畅通无阻的快感了…… …



==============================================================================

log添加

/system/core/include/cutils/log.h


#define LOG_NDEBUG 0  可以打开更多编译开关


添加自己的log

#define  LOG_TAG    "charlieu"
#define  C_LOG(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)


C_LOG("%s",__FUNCTION__ );


========================================

10_20 音频添加log
hal hardware\imx\alsa\tinyalsa_hal.c  ==> ALOGW("CCC_adev_open==="); 
/system/core/include目录下的cutils      添加#define LOG_NDEBUG 0 将打印media_jni中的ALOGV
 #include <cutils/log.h> 中定义
#define CALOGW(...) printf("CW/" __VA_ARGS__) 不写入log  




#include <android/log.h>
#define  LOG_TAG    "charlieu====================="
#define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
================================================================================
media api /frameworks/base/media/java/android/media/..
media_jni /frameworks/base/media/jni 
media.so media_native.so /frameworks/av/media
audioflinger /frameworks/av/service/audioflinger/...


========================================

 

 

关于odex问题

1.对于单个apk:
在该apk的源码的android.mk中增加LOCAL_DEX_PREOPT := false就可以了。
2.对于整个源码:
修改build/core/package.mk和build/core/jave_library.mk(配置编译出来的jar包是),将其中的LOCAL_DEX_PREOPT := true改为LOCAL_DEX_PREOPT := false。


 package的编译开关在device/fsl/imx6/imx6.mk中

注意点1  要使以上配置生效 需要删除out/target/product/*

注意点2 要使java中res的xml配置生效 需要删除板子中/data/*

=======================================

添加app

add Android.mk

内容如下

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := Ch_Demo
include $(BUILD_PACKAGE)


删除gen

 ============================================

开机动画需将

bootanimation.zip

放入/system/media/中

源码修改device/fsl/sabresd_6q/boardconfig.mk

中添加

# build for bootanimate
PRODUCT_COPY_FILES += \
 system/media/bootanimation.zip:system/media/bootanimation.zip

================================================================

 

adb logcat  -h

adb logcat -c 清除所有以前的日志

adb logcat -d 这个命令是在时间上倒过来用的 就是你先操作 然后敲这个命令 打出来的log就是你刚操作那段时间的log 而且自动退出log模式

adb logcat -s XXX这个是设置过滤用的 比如你只想查看FirstDemo的日志 就替换最后的XXX

java 空指针

byte[] cby = null;
 cby[0] = 1;

c 空指针

 int *a = 0;
 *a = 2;

 

java log

 String _thisMethodName =   new Exception().getStackTrace()[0].getMethodName();
  Log.d(TAG,_thisMethodName);
 

freopen("/sdcard/tmp/loglog2.txt", "aw", stdout);
printf("hello\n");
printf("world");

thats  fun!



编译开关

device/fsl/imx6/soc/imx6dq.mk



添加ssh

启动cmd start-ssh

将/system/etc/ssh/sshd_config  拷贝到/data/ssh/sshd_config  需要配置


setprop net.change net.dns2
setprop net.eth0.config 1
setprop net.eth0.dns1 114.114.114.114
setprop net.eth0.dns2 192.168.10.1
setprop net.eth0.ip 192.168.10.104
setprop net.eth0.mode manual
setprop dhcp.eth0.ipaddress 192.168.10.103
setprop persist.sys.timezone Asia/Shanghai


设置ip与时区

如果是静态ip 需要设置后ficonfig eth0 up


#include <android/log.h>

__android_log_print(ANDROID_LOG_INFO,"charlieu","%s",__func__);


==================================

记录一些常用的cmd

/proc/<pid>/maps    smaps

strace  查看系统调用

top -m 3  查看cpu占有率


packages/apps/settings/src/com/android/settings/settings.java

//charlieu default developer
this.getSharedPreferences(DevelopmentSettings.PREF_FILE,
                            Context.MODE_PRIVATE).edit().putBoolean(
                                    DevelopmentSettings.PREF_SHOW, true).apply();



build/core/pathmap.mk

 FRAMEWORKS_BASE_SUBDIRS := \

frameworks/base/Android.mk


# FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk
LOCAL_SRC_FILES := $(call find-other-java-files,$(FRAMEWORKS_BASE_SUBDIRS))


357483226@qq.com


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值