您的位置:首页 > 编程语言 > PHP开发

fsl 环境搭建与tftp nfs samba配置 分包压缩

2016-02-23 16:19 555 查看
提取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))

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



Tftp

apt-get install tftpd tftp openbsd-inetd
mkdir /home/tftpboot

chmod 777 /home/tftpboot

gedit /etc/inetd.conf

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /opt/tftpboot

sudo /etc/init.d/openbsd-inetd restart

MX6Q SABRESD U-Boot >tftpboot uImage

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

NFS

apt-get install nfs-kernel-server

gedit /etc/exports

/home/android_nfs rootfs *(rw,sync,no_root_squash)




sudo /etc/init.d/portmap restart

sudo /etc/init.d/nfs-kernel-server restart


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

uboot 启动参数设置

setenv bootfile uImage

setenv nfsroot /home/android_nfs



setenv bootcmd 'dhcp;bootm'

set bootargs console=ttymxc0,115200 init=/init ip=dhcp nfsroot=${serverip}:/${nfsroot} video=mxcfb0:dev=lcd,FRIDA-WSVGA,if=RGB24,bpp=32 video=mxcfb1:off video=kxcfb2:off fbmen=10M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale


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

另外还需要参照fresscale文档修改init.rc init.freescale.rc

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

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

sudo apt-get update

sudo apt-get install samba

sudo apt-get install smbfs //cifs-utils

备注一个samba 字段

[santoku]

comment = home

path = /home/santoku

writeable = yes

guest ok = yes

vi /etc/samba/smb.conf

/etc/init.d/smbd restart

登陆==》192.168.xx.xx\santoku

还原文件用下面的命令: bz2.aa

cat a.chm.tar.bz2.a* | tar -jx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: