问题总结

各种问题各种记


?? kernel ,# make menuconfig 时,好多Kconfig中定义的内容都显示不出来,比如 System Type 这一项

^^ # export ARCH=arm ,OK了


?? uboot官方FTP下载地址
^^ ftp://ftp.denx.de/pub/u-boot/

?? kernel官方FTP下载地址
^^ ftp://ftp.kernel.org/pub/linux/kernel/


?? android 官方内核下载
^^ android 官方内核链接 https://android.googlesource.com/kernel/ ,在这里可以看到 kernel 版本
# git clone https://android.googlesource.com/kernel/samsung.git
# cd samsung/
# git branch -a
# git checkout -b android-samsung-3.0-jb origin/android-samsung-3.0-jb


?? android 源码官方下载
^^ android 源码下载链接 :https://android.googlesource.com/platform/manifest ,在这里找到版本,如 android-4.1.1_r1  
先下个repo(如果系统中已有 repo,可跳过):
 $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
 $ chmod +x ~/bin/repo

初始化版本: $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.1_r1  
同步: $ repo sync  


?? 

    curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/tools/repo

    curl: (7) Failed to connect to 2404:6800:4005:c00::5b: 网络不可达

^^ 使用如下命令即可下载

    curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo"> ~/tools/repo


?? linux 系统使用 git 下载时,出现 timed out 的错误

^^ 在 /etc/hosts 文件中添加

    # for git
    207.97.227.239 github.com
    65.74.177.129 www.github.com


?? git

# man git-clone
生成了 ~/.gitconfig
在 ~/.gitconfig 添加
[url  "https://github.com/"]
    insteadof = git://github.com/

然后下载时将
 git://github.com/xxx
改为
 https://github.com/xxx
如   repo init -u git://github.com/Android4SAM/platform_sammanifest.git -b android4sam_v3.1
改为 repo init -u https://github.com/Android4SAM/platform_sammanifest.git -b android4sam_v3.1

这样的话有个麻烦就是之后要用到 repo 命令来 init 地址的时候都要将 git:// 改为 https://


?? 下载 android 源码时,

    fatal: HTTP request failed

    error: Cannot fetch platform/abi/cpp

^^

    1.在 /etc/hosts 中添加

    # android source
    74.125.128.82 android.googlesource.com
    74.125.71.82 www.googlesource.com
  

    2.在 .repo 目录下的 manifest.xml 里找到 fetch 属性,改成 fetch="git://Android.git.linaro.org/"


??  Eclipse 安装 ATD 插件时,无法访问 https://dl-ssl.google.com/android/eclipse/ ,显示 Pengding...

^^ 
在 /etc/hosts 中添加
# eclipse adt
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com

然后将 https://dl-ssl.google.com/android/eclipse/
修改为 http://dl-ssl.google.com/android/eclipse/


?? 查看android版本
^^ build/core/version_defaults.mk 
PLATFORM_VERSION := 

?? android  命令终端: "Read-only file system"

^^ mount -o remount rw /


?? Ubuntu 镜像下载
^^ http://releases.ubuntu.com


?? 交叉编译器 arm-linux- 下载
^^ http://sourcery.mentor.com/public/gnu_toolchain/



?? samba 下载地址
^^ http://ftp.samba.org/pub/samba/stable/


?? android 不锁屏

^^ frameworks/base/packages/SettingsProvider/res/values/defaults.xml 文件中,
将<integer name="def_screen_off_timeout">60000</integer> 中的 6000 改为 -1,

frameworks/base/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java
/**
       * External apps (like the phone app) can tell us to disable the keygaurd.
       */
      private boolean mExternallyEnabled = true; 改为 false 。

?? kernel 调试
^^   //#define MY_DEBUG 0
#define MY_DEBUG 1

#if MY_DEBUG
#define my_dbg(fmt, arg...) printk(" **MY DEBUG** %s %s:"fmt"\n",__FILE__,__func__,##arg)
#else
#define my_dbg(arg...)
#endif


?? android HAL 添加调试信息

^^ 

#define MY_DEBUG

#ifdef MY_DEBUG
#define MY_DBG(format, ...) LOGI((format), ## __VA_ARGS__)
#else
#define MY_DBG(format, ...) 
#endif
// Usage:  MY_DBG(" ## %d ##", num);


?? 关于飞思卡尔imx 53系列的 adb 不能连接的问题
^^
    一、
    1.使用 usb 线将开发板与电脑连接好,开发板上电。
    2. # lsusb
    可以看到 Bus 001 Device 007: ID 15a2:0c02 Freescale Semiconductor, Inc.

    二、(不需每次执行,环境设置好即可)
    1. # cd ~/android_apps/android-sdk-linux/tools/
       # ./android update adb
    2. 成功运行后,会在用户名录下产生 ~/.android/adb_usb.ini。
    3. 编辑上述文件 adb_usb.ini ,添加一行 0x15a2。


    三、(每次开机首次使用时均需执行)
    1. # cd ~/android_apps/android-sdk-linux/platform-tools/
    2. # sudo ./adb kill-server
    3. # sudo ./adb start-server
    4. 然后拔插 usb 线重新插上之后,就可以连接adb 了。
    # adb devices
    0123456789ABCDEF    device


?? 编译android源码,报错: /bin/bash: jar:找不到命令

^^ sudo ln -s /usr/lib/jvm/jdk1.6.0_27/bin/jar /bin/jar


??
    # make menuconfig
     *** Unable to find the ncurses libraries or the
     *** required header files.
     *** 'make menuconfig' requires the ncurses libraries.
     ***
     *** Install ncurses (ncurses-devel) and try again.
     ***
    make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1
    make: *** [menuconfig] 错误 2

^^
    # sudo apt-get install libncurses*


?? 修改swap分区  
^^
# sudo mkdir /swap
# cd /swap
# sudo dd if=/dev/zero of=swap bs=1024 count=2000000
# sudo mkswap -f swap
# sudo swapon swap
#

?? 警告:检测到时钟错误。您的创建可能是不完整的。
^^ find . -type f -exec touch {} \;


?? 递归删除同名文件
^^
在当前目录及子目录下查找 .gitignore 目录并递归删除  
# find   -name   '.gitignore'  |  xargs  rm  -rf

?? android 视频录制的参数设置

^^ 位于 device/samsung/smdkv210/media_profiles.xml


?? 调试ril时 通过logcat 打印不出调试信息
^^  Android日志系统有循环缓冲区,并不是所有的日志系统都有默认循环缓冲区。为了得到日志信息,你需要通过-b 选项来启动logcat 。
如果要使用循环缓冲区,你需要查看剩余的循环缓冲期:
   # logcat -b radio


?? 从github下载资料
^^ git clone git://github.com/XXXXXX.git


?? system/core/init/init.c 打印调试信息
^^ 注释掉 open_devnull_stdio();

?? android 启动时不显示静态的“ANDRIOD” 
^^ 内核配置
Device Drivers  --->                                                                                         │  
    Graphics support  --->                                                                                     │  
        Console display driver support  ---> 
          <*> Framebuffer Console support
           
?? 把我们的应用程序作为home
^^ 只需要在AndroidManifest.xml中添加:
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" /> 


?? android 设置默认语言为中文
^^ init.rc 中添加
setprop persist.sys.language zh 
setprop persist.sys.country CN 
setprop persist.sys.localevar 
setprop persist.sys.timezone Asia/Shanghai 
setprop ro.product.locale.language zh 
setprop ro.product.locale.region CN

?? android 支持语言编译选项
^^ /build/target/product/languages_full.mk  和 languages_small.mk  
  PRODUCT_LOCALES :=

?? kernel命令行参数 
^^ make menuconfig
Boot options  --->
(console=ttySAC0,115200) Default kernel command string  
[*]   Always use the default kernel command string       // 强制使用上一行参数,会导致uboot命令行设置的参数无效。

?? android java 代码中添加log打印
1.import android.util.Log;
2.private static final String TAG = "MY_LOG";
3.Log.e(TAG, "my log.");


?? qt 中文字体设置
^^
1.首先将字体(我选择windows下的宋体simsun.ttf)copy至qte的lib/font目录下
2.设置环境变量export QT_QWS_FONTDIR=/home/txmcuQtEmbedded/lib/fonts/
3.在函数里指定字体
eg:测试例程

#include<QtGui/QApplication>
#include<QtGui/QWidget>
#include<QtGui/QLabel>
#include<QtCore/QTextCodec>
#include<QtGui/QPushButton>
#include<QtGui/QVBoxLayout>
#include<QFont>
int main(int argc,char* argv[])
{
QApplication app(argc, argv);
QFont font;
font.setPointSize(26);
font.setFamily(("simsun")); //指定字体
app.setFont(font);
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
QWidget* pWidget = new QWidget;
QLabel label(pWidget);
pWidget.showMaximized();
pWidget->showMaximized();
label.setText(QObject::tr("欢迎您!"));
QPushButton* btn = new QPushButton(QObject::tr("close!"), pWidget);
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(&label);
layout->addWidget(btn);
pWidget->setLayout(layout);
QObject::connect(btn,SIGNAL(clicked()), pWidget, SLOT(close()));
pWidget->show();
return app.exec();
}

?? QLineEdit 实现clicked信号
^^
qMyEdit.h
#ifndef QMYEDIT_H
#define QMYEDIT_H
 
#include <QtGui>
 
class QMyEdit : public QLineEdit
{
Q_OBJECT
public:
explicit QMyEdit(QWidget *parent = 0);
 
protected:
virtual void mousePressEvent(QMouseEvent *event);
 
signals:
void LineEditClicked();
};
#endif // QMYEDIT_H


qMyEdit.cpp
#include "qmyedit.h"
 
QMyEdit::QMyEdit(QWidget *parent) :
QLineEdit(parent)
{
}
 
void QMyEdit::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton)
{
  emit LineEditClicked();
}
QLineEdit::mousePressEvent(event);
}

?? sqlite 数据库 基本操作
^^
建立数据库
# sqlite3 test.db 注意:该命令执行之后,如果在当前目录没有test.db的话,就会创建该文件,如果已经存在的话直接使用该数据库文件。
查看所创建的数据库
sqlite> .database 

创建表
sqlite> create table mytable(name varchar(10),age smallint);  

查看创建的表
sqlite> .table

向表中插入数据
sqlite> insert into mytable values('mark',28);  

查询数据
sqlite> select * from mytable;  
sqlite> select * from mytable where date > '2012-12-12 09:16' and date < '2012-12-12 09:30';

删除表
sqlite> drop table mytable;  

11. 删除数据库

?? qt 将从数据库获得的数据显示在表中
^^
    char execStr[100];
    sprintf(execStr,"select * from mytable where date >='%s' and date <='%s';",start,end);
    
    static QSqlQueryModel *model = new QSqlQueryModel(myTable);
    model->setQuery(QString(execStr));
    model->setHeaderData(0,Qt::Horizontal,QObject::tr("日期"));
    model->setHeaderData(1,Qt::Horizontal,QObject::tr("名称"));
    model->setHeaderData(2,Qt::Horizontal,QObject::tr("数值"));
    myTable->setModel(model);


?? 打补丁patch
^^ patch -p1 < /路径/XXX.patch  # -pX 这个数字要看具体的patch内容 

?? 制作补丁diff
^^ diff -urN XXX_dir  XXX_dir_ok > XXX.patch //目录

单个文件
diff –uN  from-file  to-file  >to-file.patch
patch –p0 < to-file.patch
patch –RE –p0 < to-file.patch

多个文件
diff –uNr  from-docu  to-docu  >to-docu.patch
patch –p1 < to-docu.patch
patch –R –p1 <to-docu.patch


?? ubuntu设置ip
^^
1.修改/etc/network/interfaces 内容如下:
auto lo
iface lo inet loopback

#动态ip
auto eth0
iface eth0 inet dhcp
#注意最后一行,默认为iface eth0 inet manual,修改为iface eth0 inet dhcp

#静态ip
auto eth0
iface eth0 inet static
address 192.168.1.222
netmask 255.255.255.0
gateway 192.168.1.1

2.重启网络服务
sudo /etc/init.d/networking restart

# dns
cat /etc/resolv.conf 
nameserver 202.106.46.151
nameserver 202.106.195.68

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值