精华内容
下载资源
问答
  • NULL 博文链接:https://sheng.iteye.com/blog/938386
  • 1. 对于一些中文繁体字符select出来出现乱码,出问题的繁体字如:燈、龍等   环境描述: 数据库编码:   +--------------------------+----------------------------------------+ | Variable_name | Value

    问题描述:

    1. 对于一些中文繁体字符select出来出现乱码,出问题的繁体字如:燈、龍等

     

    环境描述:

    数据库编码:

     

    +--------------------------+----------------------------------------+

    | Variable_name            | Value                                  |

    +--------------------------+----------------------------------------+

    | auto_increment_offset    | 1                                      |

    | character_set_client     | latin1                                 |

    | character_set_connection | latin1                                 |

    | character_set_database   | latin1                                 |

    | character_set_filesystem | binary                                 |

    | character_set_results    | latin1                                 |

    | character_set_server     | latin1                                 |

    | character_set_system     | utf8                                   |

    | character_sets_dir       | D:/Program Files/mysql/share/charsets/ |

    +--------------------------+----------------------------------------+

    数据库表编码:也同意使用latin1编码方式

    由于数据库由DBA负责,并且库结构为了保持一致(我们使用备份库),从而不能修改数据库编码

     

     

     

    问题排查:

    1.mysql 的jdbc驱动源代码拷贝下来DEBUG,最终发现了问题根源在驱动中CharSetMapping.class该类中的getJavaEncodingForMysqlEncoding(String mysqlEncoding,Connection conn)方法,该方法源代码如下:

    1. public final static String getJavaEncodingForMysqlEncoding(String mysqlEncoding,  
    2.             Connection conn) throws SQLException {  
    3.           
    4.         if (conn != null && conn.versionMeetsMinimum(410) &&   
    5.                 "latin1".equalsIgnoreCase(mysqlEncoding)) {  
    6.             return "Cp1252";  
    7.         }  
    8.           
    9.         return (String) MYSQL_TO_JAVA_CHARSET_MAP.get(mysqlEncoding);  
    10.     }  
     

    这里Latin1编码就是iso-8859-1编码。问题就出在这里,mysql驱动对Latin1编码做了特殊处理,转为cp1252,但cp1252依然属于Latin1系编码,故显示中文依然会存在乱码,故需要在GBKstring中转化cp1252.

    这么做了以后,发现我看到的中文都不再乱码OK,包括一些繁体字和火星文,大功告成了。

    过了一天,我们测试给我反馈结果,说一些繁体字依然存在乱码,比如“燈、龍”等,在页面上显示“?”,究竟哪儿出了问题?继续DEBUG,

    发现普通汉字从Latin1转码为cp1252后的byte array中的数据中,用两个字节表示一个汉字时,能够在GBK编码映射表中找到byte array对应的2字节数据,而“燈、龍”两个繁体字转cp1252后,其对应的byte array中的2字节数据无法再GBK编码中找到(既GBK中无法找到该2字节数据对应的汉子),从而出现“?”。

    故问题应该就出现在这里,既从latin1->cp1252->gbk这样一个过程会出现以下编码数据丢失。从而解决方案也是很明显的:

    既:去掉中间转cp1252的步骤,直接将Latin1 转gbk,同时gbkString中不处理,将上面代码修改为:

    1. public final static String getJavaEncodingForMysqlEncoding(String mysqlEncoding,  
    2.             Connection conn) throws SQLException {  
    3.           
    4.         if (conn != null && conn.versionMeetsMinimum(410) &&   
    5.                 "latin1".equalsIgnoreCase(mysqlEncoding)) {  
    6.             return "gbk";  
    7.         }  
    8.           
    9.         return (String) MYSQL_TO_JAVA_CHARSET_MAP.get(mysqlEncoding);  
    10.     }  

     

    出处:http://blog.csdn.net/workwithwebis3w/article/details/5875314


    个人理解:可以将数据库里查出来的数据强转new String(str.getBytes("GBK"),"cp1252");

    保存时直接强转: new String(str.getBytes("cp1252"),"GBK");

    展开全文
  • 按照目前的知识解决不了这个问题,写blog存档备份。   LCMapString也是查表,实现原理是一样的。 使用LCMapString有些字符转换不了,例如“於”(依赖于系统) LCMapString并不转换内码 LCMapString也是查表...

    c#环境下想要最小程度不使用第三方库、程序性能,于是选择了这个Windows API。

    转载自https://coolong124220.nidbox.com/diary/read/8045380

    对应的C#调用申明

         ///
            /// 使用系統 kernel32.dll 進行轉換
            ///
            private const int LocaleSystemDefault = 0x0800;
            private const int LcmapSimplifiedChinese = 0x02000000;
            private const int LcmapTraditionalChinese = 0x04000000;
    
            [DllImport("kernel32", CharSet = CharSet.Auto, SetLastError = true)]
            private static extern int LCMapString(int locale, int dwMapFlags, string lpSrcStr, int cchSrc,
                                                  [Out] string lpDestStr, int cchDest);
    
            public static string ToSimplified(string argSource)
            {
                var t = new String(' ', argSource.Length);
                LCMapString(LocaleSystemDefault, LcmapSimplifiedChinese, argSource, argSource.Length,t, argSource.Length);
                return t;
            }
    
            public static string ToTraditional(string argSource)
            {
                var t = new String(' ', argSource.Length);
                LCMapString(LocaleSystemDefault, LcmapTraditionalChinese, argSource, argSource.Length,t, argSource.Length);
                return t;
            }

    在测试过程中笔者发现有一些字符是转换不是了的。比如 '云'

    尝试使用升级版的函数LCMapStringEx,对应调用申明

      [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
            private static extern int LCMapStringEx(
                       string lpLocaleName,        //  LPCWSTR      lpLocaleName
                       uint dwMapFlags,        //  DWORD        dwMapFlags
                       string lpSrcStr,        //  LPCWSTR      lpSrcStr
                       int cchSrc,             //  int          cchSrc
                       [Out]
                     string lpDestStr,           //  LPWSTR       lpDestStr
                       int cchDest,            //  int          cchDest
                       IntPtr lpVersionInformation,    //  LPNLSVERSIONINFO lpVersionInformation
                       IntPtr lpReserved,          //  LPVOID       lpReserved
                       IntPtr sortHandle);         //  LPARAM       sortHandle
         public static string ToSimplifiedEx(string argSource)
            {
                var t = new String(' ', argSource.Length);
                //var t = new StringBuilder(argSource.Length);
                LCMapStringEx("zh-CN", LcmapSimplifiedChinese, argSource, argSource.Length, t, argSource.Length, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);
                return t;
            }
    
         public static string ToTraditionalEx(string argSource)
            {            
                var t = new String(' ', argSource.Length);            
                LCMapStringEx("zh-CN", LcmapTraditionalChinese, argSource, argSource.Length, t, argSource.Length, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);            
                return t.ToString();
            }

    起初的预想是错误的,并未因为升级api而解决这个问题。

    网上也好多朋友反映部分汉字转换不了。按照目前的知识解决不了这个问题,写blog存档备份。

     

    LCMapString也是查表,实现原理是一样的。 使用LCMapString有些字符转换不了,例如“於”(依赖于系统) LCMapString并不转换内码

    LCMapString也是查表,实现原理是一样的。
    使用LCMapString有些字符转换不了,例如“於”(依赖于系统)
    LCMapString并不转换内码,也不转换习惯用语。

    参考资料:

    https://blog.csdn.net/zgl7903/article/details/7762374

    https://bbs.csdn.net/topics/190012918

    http://bbs.aardio.com/forum.php?mod=viewthread&tid=3630

     

    转载于:https://www.cnblogs.com/passedbylove/p/10762093.html

    展开全文
  • work备份

    2020-05-20 21:03:38
    常用命令: 连接设备机:On the end dumpsys SurfaceFlinger ...开发者向->境界表示 DOP 进入ACC OFF履历:设定项:左右中 ...过滤掉activity:解决办法:ps | grep navi pm disable jp.pioneer.car.navi jp.pioneer.ceam

    常用命令:
    连接设备机:On the end
    dumpsys SurfaceFlinger

    打开开发者模式: am start -n com.android.settings/.Settings
    开发者向->境界表示
    DOP 进入ACC OFF履历:设定项:左右中
    启动DebugMode时:右左右左中,如果Navi起不来时,输入密码未成功会退出:
    过滤掉activity:解决办法:ps | grep navi
    pm disable jp.pioneer.car.navi jp.pioneer.ceam.naviproxy
    debug Mode 密码:
    19AJ:ON DEVDEBUG
    DOP:TARGETLOCK ON /17DOP:ON DEVDEBUG
    Cyber:INNOVATI ON
    解锁SD卡命令:mmc passwd -e 1(插空卡 格式化)
    设置不锁卡:TestMode 55项Mode Change,按menu,显示Result[OK]Please turn off the power off,不关闭电源拔卡.
    模拟键盘:input keyevent 237Mode(keycode)
    模拟输入text:input text password
    图标路径:
    19AJ/Source/device/pioneer/packages/jupiter_ui/JCommonlib-res/res/drawable-mdpi
    资源文件目录:Cyber/device/pioneer/add_on/overlay_jupiterui/frameworks/base/core/res/res/values
    grep -nr “关键字” 文件 or grep -nr “关键字” 查找当前目录下的所有文件包含"关键字"
    墓碑文件:data/o…
    TestMode打开bsp开关:\wind\pset\CarAudio\After Caraudio\2018\18.5DOP\05_Release\IMX\BootLoader_Release
    修改文件名"BOOTLOADER_1"为"BOOTLOADER" TestMode设定项:9.write Program Forcedly->2.Write BootLoader

    git push 远程主机名 本地分支名 远程分支名:
    git push origin master :refs/for/master
    git push origin tamago/master:refs/for/tamago/master

    查看机型:getprop | grep pro
    getprop | grep des 查看机种
    getprop | grep mode:查看启动方式
    查看机型:getprop | grep -E sysdconf.0.parse.model
    grep -rn “过滤”
    grep -rn “过滤” 路径

    列出已经安装的snap包

    sudo snap list

    搜索要安装的snap包

    sudo snap find

    安装一个snap包

    sudo snap install

    更新一个snap包,如果你后面不加包的名字的话那就是更新所有的snap包

    sudo snap refresh

    把一个包还原到以前安装的版本

    sudo snap revert

    删除一个snap包

    sudo snap remove

    车种选择密码:79314862
    终端修改文件名:mv Av.apk mAv.apk

    截取车载机画面:screencap /(udisk/extdata)/1.png,bmp,jpg

    ViewID.SYS_VIEW_ID_MENU_SYSTEM_DEALERMENUTTOP :进入ACC OFF履历,车种选択设定画面ID
    am broadcast -a “Action”:终端发送广播
    高速启动设置:TestMode->Set Boot SubMode
    启动显示地图更新,机器启动不起来时:rm /mnt/backup_flash/.version
    打开串口:Consol Setting
    JD616 16DOP
    JD673 17DOP
    JD676 18DOP

    从USB中运行APK:
    (1):DOP:从USB中安装Av.apk
    step1 挂载: mount -o remount /system
    step2 拷贝: cp udisk1/aap/Av.apk system/app
    step3 修改权限: chmod 777 system/app/Av.apk
    (2):19AJ:更新Apk(使用脚本): . udisk/ runRCApkOdex.sh Av.apk
    (3):Cyber:替换APK

    mount -o rw,remount /system
    cp udisk1/aap/Av.apk system/priv-app/Av/
    (4):ADB替换APK:
    adb remount
    adb push SystemView.apk /system/app
    adb shell
    sync

    adb install [-r] [-s] file
    -r:表示重新安装该apk包
    -s:将apk包安装到sd卡上,默认安装到内部存储器上。
    adb unistall [-k] test.apk
    -k:表示只删除该应用程序,但保留该程序所用的数据和缓存目录。
    am start -n jp.pioneer.ceam.diag/.screens.screen.MM_13_01_01_01

    更新整个项目代码全编命令:
    repo sync
    repo forall -c git pull

    AJ全编代码:
    source build/envsetup.sh
    lunch 4
    make clean
    make update-api
    make -j4

    DOP全编代码//编译Release DOP:lunch 4(eng) lunch 5(user)
    source build/envsetup.sh
    lunch 4
    make clean
    make update-api
    make -j4

    编译add_on:
    (4) 生成add-on压缩文件,/out/host/linux-x86/sdk_addon,简单使用的话,直接使用压缩包里的jar包即可,完整编译执行第5步;
    make -j4 PRODUCT-nx410_addon-sdk_addon
    (5) 生成repository.xml
    development/build/tools/mk_sdk_repo_xml.sh out/host/linux-x86

    Cyber机器:全编命令
    . build/envsetup.sh
    lunch 3
    make clean
    make update-api -j8
    make -j8
    make updatefile

    Cyber替换Av.apk 或者在Cyber/device/pioneer/packages/jupiter_ui/Av:mm
    make clean-Av -j8
    make Av -j8
    Cyber高速替换apk.
    Cyber odex文件存放目录:system/priv-app/Av/ont/

    819B全编代码命令:
    repo forall -c git checkout出tamago/daily
    repo forall -c checkout -b tamago/release/0.010010
    make clean
    . build/envsetup.sh
    lunch 9
    make update-appi
    mak

    1.本地全编译一次,并确认可以生成文件:out/target/product/cyber_1T/system/priv-app/Av.apk
    2.修改Av工程代码,方便前后对比确认替换成功
    3.进入全编译目录(代码根目录):如:Code/19CyberCode,执行命令:sync
    4.执行命令:cd device/pioneer/packages/jupiter_ui/Av, 完成后执行命令: mm
    5.以上4步执行完成,确认有以下信息输出:Install: out/target/product/cyber_1T/system/priv-app/Av/Av.apk,此时Av.apk已更新
    6.取out/target/product/cyber_1T/system/priv-app/Av/Av.apk提换,进入确认

    抓取snatshop高速镜像:删除.version文件
    cd /mnt/backup_flash/
    ls -a
    rm -rf .
    sync

    初始化bsp:bsp init
    设置启动模式:bsp set -s 0/1/2 0:Normal 1:catch_snapshot 2:warp_boot
    设置查看log:bsp set -d 1
    设置机型:bsp set -lcd 0/1/2
    bsp 完整用法(进入bsp, 输入 help bsp set)
    bsp get 查看当前值

    修复Hooks:/home/wangni/work/Cyber/19avh-scripts执行sudo ./fix-commit-id.sh

    在minicom串口的根目录下用以下命令
    1.挂载: mount -o remount /system
    2.拷贝: cp udisk/Av.apk system/app
    3.修改权限: chmod 777 sysytem/app/Av.apk
    执行完3之后,重启车载机后在执行4.
    4.启动apk: am start -n com.example.test/com.example.test.mainActivity
    手动替换apk
    1.高速版Release需要用“bsp set -s 0”切换至低速版;
    1.高速版Release需要用“bsp set -s 0”切换至低速版;
    2.mount -o remount /system 挂载系统,获取权限;
    3.删除 /system/app 目录下同名apk,user版Release还需要删除同名的odex文件;
    4.将编译好的新apk放到/system/app目录下,用chmod更改对应apk文件的权限为777,chmod 777 xxx.apk;
    5.用sync命令同步,然后重启车载机。

    SD卡烧写:
    Daily_Release:没有高速启动,Weekly方法类似参照开发手册
    进入Release下找到.sh脚本
    1.cd DL_v0.000604/
    1.sudo ./km500_mksdcard_no_snapshot.sh -w /dev/(sdb或sdc)
    加-w:不烧地图.会烧的快,不加-w会烧地图 最好加-w,不要烧地图
    2.sudo ./km500_mksdcard_no_snapshot.sh /dev/sd

    输入密码 进行烧写 中间提示插拔操作
    Daily下只有一个脚本,Weekly会有两个
    特殊机型切换启动模式(高,低速)最好不要执行bsp init(初始化操作)
    如误操作后 则执行 1.bsp init 2.mmc passwd -e 1(插空卡 格式化)
    后SD烧卡
    19AJ:TestMode升级:进入TestMode,或者cp TestMode.key
    Mode短压,长按Mode,vol+3,vol-3,放开Mode,长按back,vol-3,vol+3,放开back,按下Home
    1、[MODE]キー短押し(押し⇒離す)
    2、[MODE]キー押したまま
      -[Vol+]キーを 3 回押す
      -[Vol-]キーを 3 回押す
    3、[MODE]キーを離す
    4、[BACK]キー押したまま、
      -[Vol-]キーを 3 回押す
      -[Vol+]キーを 3 回押す
    5、[BACK]キーを離す
    6、[HOME]キー押し
    DOP:TestMode:短按NAVI,长按NAVI,左4右2左3右1
    Cyber:TestMode:短按NAVI,长按NAVI,左2右3左1右4

    查看:getprop | grep pro
    查看SOC版本:getprop | grep ucom
    sudo apt-get install nautilus-open-terminal
    安装ubuntu 终端 快捷方式
    sudo apt-get install minicom
    安装minicom
    minicom串口命令相关:
    logcat -m 0xffffffff -l 15 -e 1 打开车载机Log
    logcat *:e 显示error级别的错误

    bsp 完整用法(进入bsp, 输入 help bsp set)
    bsp get 查看当前值

    bsp命令(车载机刚上电启动时连按回车会进入bsp)
    bsp init 初始化
    bsp set -s 0 低速
    bsp set -s 2 高速
    bsp set -d 1 — logcat 打开串口输

    目前对应策略是一套代码,一次编译通过设定不同的启动参数达到适配不同种类的LCD,现展开切换方法如下,
    1.bsp命令(车载机刚上电启动时连按回车会进入bsp,(连上minicom之后)),开机按任意键进入bootloader命令行模式;
    2.输入以下命令更改相应的LCD参数.修改机型:bsp set -lcd 机型编号
    1.更改分辨率为800480 尺寸为175.2105.12或者175.1098.5: bsp set -lcd 0
    2更改分辨率为840
    480 尺寸为156.24 81.6 :bsp set -lcd 1
    3.更改分辨率为800
    480 尺寸为 224*126 : bsp set -lcd 2
    3.重启
    另外使用命令”bsp get”中的”LCD Type” 项目可以查看当前设定值,如发现设定值与当前自己使用的LCD不相符合,可以通过以上命令更改.
    bsp init 初始化
    bsp set -s 0 低速 1 高速启动
    bsp set -s 2 高速
    bsp set -d 1 — logcat 打开串口输入

    18d5dop/WL_v1.010120

    liunx命令 :
    ls -a --all 查看所有
    ls -X 根据扩展名排序
    ls test.*
    ls *.txt 可以利用ls在某目录下查找文件
    ls -a:查看隐藏文件

    获取16AVH+N代码流程:

    1. 安装repo
      git clone ssh://gerrit/15mid/tools/repo.git
      cd repo
      sudo cp repo /usr/bin
      git checkout stable
      chmod a+x /usr/bin/repo
      rm -rf …/repo

    2.拉取16AVH+N代码
    repo init -u ssh://gerrit/16avh+n/platform/manifest.git -b 16AVH+N
    (获取url目录下的manifest文件,文件的内容即为所有被git管理的仓库列表)

    repo sync
    (代码更新,第一次运行相当于git clone)
    repo start 16AVH+N --all
    (创建新的branch分支。)
    16AVH+N的服务器:smb://172.26.10.2/pset/CarAudio/After Caraudio/2016/16AVH+N
    3.修复hooks
    cd Cyber or 19AJ or DOP/14avh-scripts
    sudo ./fix-commit-id.sh

    4.导包
    工程项目上右键进入 Build Path 选项,再进入 Configure Build Path选项
    进入 Java Build Path 选项,接着进入 Libraries 选项,点击 Add External JARs
    当所配的工程文件为 Av 或 SystemView 时,导入 data/layoutlib.jar 和 jcommonres.jar 两个包;
    其他的工程文件则只需导入 jcommonres.jar
    提示:当导完包后还有报错,则需进入顶部标题栏的 Window 下的 Preferences ,再点击 Android ,将SDK Location
    修改为工程的SDk的路径

    拷代码:
    新建文件夹,在文件夹内打开终端.
    跑1. repo init –u ssh://**
    2. repo sync –c
    3. repo start ** --all
    4. 重新拷贝SDK,和addon
    5. 打开eclipse,添加代码路径,添加SDK:windowspreferencesAndroid, eg:/home/wangni/work/SDK.bulid pathConfigur bulid pathjava bulid pathLibrariesAdd External JARs

    更换SDK

    1. 拷贝新的SDK,解压,将文件copy到自己的SDK路径,
    2. 拷贝sdk_addon,将sdk_addon提取到SDK下的add-ons,继续解压sdk_addon,进入libs文件夹,将layoutlib.jar和platform_library.jar拷贝到add-ons下,
    3. 之后可以删除sdk_addon其他文件夹.

    19Cyber SD卡烧地图:
    mount -o rw,remount /system
    sh sdcard1/transfer_all.sh

    DOP烧地图 cd work/MAP/
    sudo chmod -R 777 DOP/*
    sudo cp -R DOP/* media/wangni/EXDATA/

    19AJ更新地图:
    AVIC机器更新内藏地图:更新手顺:
    1) 找到相应机型的压缩文件,拷贝到本地,解压缩。
    \2019\19AJ\99_iGO
    密码:19AVN
    2)将UpdateFolder文件夹copy到 U盘根目录下。
    3)将Copy_Script.sh拷贝U盘U盘根目录下,并将U盘插到USB1口。
    4)通过串口执行sh Copy_Script.sh脚本。cd udisk
    需要等待一段时间,等到光标再次出现说明执行完毕。。。
    5) 将Licence文件拷贝到U盘根目录下,并将U盘插到USB1口。
    \2019\19AJ\99_iGO\18Q2 Demo license
    6)通过串口执行将所有licence文件拷贝到车载机以下目录。
    cp -r 源目录/* 指定目录
    源目录:udisk/18Q2 Demo license
    指定目录: /extdata/iGO/license
    7)修改licence文件权限。
    chmod -R 777 /extdata/iGO/license
    8)重启车载机
    请把使用的AVN机器更新一次,确 保igo可以使用。
    查看空间:df -h extdata/

    Linux系统查看JDK路径
    [root@localhost ~]# java -version
    java version “1.7.0_51”
    OpenJDK Runtime Environment (rhel-2.4.5.5.el7-x86_64 u51-b31)
    OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
    [root@localhost ~]# which java
    /usr/bin/java
    [root@localhost ~]# ls -lrt /usr/bin/java
    lrwxrwxrwx. 1 root root 22 9月 6 22:51 /usr/bin/java -> /etc/alternatives/java
    [root@localhost ~]# ls -lrt /etc/alternatives/java
    lrwxrwxrwx. 1 root root 72 9月 6
    22:51 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/bin/java
    查看文件test.log的编码格式:file -i /opt/test.log
    test.log的字符编码转化为UTF-8编码,并且重新输出到test1.log:
    iconv test.log -f iso-8859-1 -t UTF-8 -o test1.log --verbose
    mount -o remount rw /udisk 挂载
    cal 查看日期
    date 查看日期
    history -10 查看10个历史命令
    find -name “文件名” 查找文件
    whereis “文件名” 根据文件名搜索二进制文件、手册页文件或者源代码文件
    more 和 less 查看文件的内容。nautilus out/target/product/m2n/system
    head 和 tail加行数从头或者尾显示文件内容。
    vim 中的复制和粘贴 :qw!
    复制 先进入试图模式 数字 + yy 表示从光标开始到数字行结束
    粘贴 先进入试图模式 p 表示从光标开始向下粘贴
    grep
    ls -l | grep ^d 表示查找d开头的文件或目录
    man -w ls 查看命令所保存的文档
    diff比较两个文件的不同之处。
    挂载文件
    挂载文件
    sudo mount 要挂载的文件 挂载路径。
    ps 查看进程
    kill 杀死进程
    ifconfig:查看IP地址

    grep -nr “关键字” 文件 or grep -nr “关键字” 查找当前目录下的所有文件包含"关键字"
    find ./ -name “File” 查找某个文件名
    $ sudo update-java-alternatives -s java-6-oracle
    or
    $ sudo update-java-alternatives -s java-7-oracle
    or
    $ sudo update-java-alternatives -s java-8-oracle

    JDK下载版本
    sudo apt-get install openjdk-7-jdk
    sudo apt-get install openjdk-8-jdk
    切换JDK,不添加配置文件才可以切换成功,sudo vim ~/.bashrc
    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javadoc
    再次查看 java jkd 版本
    java -version
    javac -version
    javadoc -J-version
    java version “1.6.0_45”
    Java™ SE Runtime Environment (build 1.6.0_45-b06)
    Java HotSpot™ 64-Bit Server VM (build 20.45-b01, mixed mode)

    注:之前通过解压配置环境变量的方式安装jdk8,切换jdk时不能使用 sudo update-java-alternatives -s 命令,
    使用sudo update-alternatives --config java命令选择java版本时候,
    java版本虽然改变了,但是javac、javah、jar等文件的路径还是openjdk7的,
    如果希望一直,得将文件一一映射,经实践,那种方法不可靠。
    用上述方法,安装的多个jdk,不需要配置环境变量,通过切换命令,即可达到目的。

    另外ubuntu安装openjdk7的命令:
    sudo apt-get install openjdk-7-jdk
    查看openjdk的安装路径:
    dpkg -L openjdk-7-jdk
    decu2是T系 CDU 一个自动升级的安装文件,如果你要升级,可以直接将文件拷到里面。
    meum2w是 meu通用的一个自动。。。。。
    dcum2n是L系 DCU 一个自动升级的安装文件,如果你要升级,可以直接将文件拷到里面。
    cpkp -i TDHome.apk

    windows下安装的jdk,不能使用javac:
    很有可能是因为环境变量PATH没有设置。
    解决方法:
    在cmd下用:
    set path=%path%;%JAVA_HOME%\bin
    javac xxx.java
    这样就可以编译了。

    关联:
    指的是模型元素之间的一种语义联系,是类之间的一种很弱的联系。
    关联可以有方向,可以是单向关联,也可以是双向关联get。可以给关联加上关联名来描述关联的作用。
    关联两端的类也可以以某种角色参与关联,角色可以具有多重性,表示可以有多少个对象参与关联。
    可以通过关联类进一步描述关联的属性、操作以及其他信息。关联类通过一条虚线与关联连接。
    对于关联可以加上一些约束,以加强关联的含义。
    关联在C++中呈现为:

    class A{…}
    class B{ …}
    A::Function1(B &b) //或A::Function1(B b) //或A::Function1(B *b)

    即一个类作为另一个类方法的参数。

    在C++语言中,从实现的角度讲,聚合可以表示为:

    class A {…}
     class B { A* a; …}

    即类B包含类A的指针;

    而组合可表示为:

    class A{…}
     class B{ A a; …}

    即类B包含类A的对象。

    填票模板 14-620-1-11456
    http://172.26.186.14/ap/

    挂起的系统ons 1325/1324 1098(gbook wifi)
    meu的bandons  1276/1277
    timer的modeinons 191
    短信系统ons MSG_17_01_02_23 483
    reading disk带ons 69

    \ibigbear\17Cy\KWG_Repro
    smb://ibigtom/group/VR_ReleaseData

    log打时间
    logcat -s TDHome:D -v time

    1、make -j8 后面跟makefile文件中的LOCAL_MODULE:****
    2、如果是.os文件cp到U盘
    3、将生成的.os 文件推到 /usr/lib文件下
    4、便可以打log查看了

    release 路径
    smb://ibigbear.storm/release/17Cy/Suntec_Release/MileStone/17CY_T1T2_Stable/RELEASE/DL_170727

    (echo “SystemUI openONS 18”
    echo “SystemUI openONS 2”
    echo “SystemUI closeONS 2”)| ngtool

    repo init -u ssh://igerrit.storm:29418/Src/17Model/17Cy/manifest -b 17Cy/MileStone/17CY_T_Stable
    repo init -u ssh://igerrit.storm:29418/Src/17Model/17Cy/manifest -b 17Cy/Demo/T1T2_11876
    repo init -u ssh://igerrit.storm:29418/Src/17Model/17Cy/manifest -b 17Cy/MileStone/17CY_T0_Stable_010B
    repo init -u ssh://igerrit.storm:29418/Src/17Model/17Cy/manifest -b 17cyplus/master/l1l1.5plus
    repo init -u ssh://igerrit.storm:29418/Src/17Model/17Cy/manifest -b 17cyplus/master/l2plus
    repo init -u ssh://igerrit.storm:29418/Src/17Model/17Cy/manifest -b 17cyplus/master/temvplus
    repo init -u ssh://igerrit.storm:29418/Src/17Model/17Cy/manifest -b 17cyplus/master/t0plus
    repo init -u ssh://igerrit.storm:29418/Src/17Model/17Cy/manifest -b 17Cy/MileStone/L1L1.5_Stable
    推.os文件
    1.mount -o remount rw /system
    2.cp libQmlFramework.so /usr/lib/
    3.sync

    ngtool

    SystemUI getONSStatus 10

    logcfg -c NGONSStatus:D
    logcat -s NGONSStatus:D -v time

    release 路径
    smb://ibigbear.storm/release/17Cy/Suntec_Release/MileStone/17CY_T1T2_Stable/RELEASE/DL_170727

    进入u盘 /media/lisiwei/敲击tab键

    make -j8 TDHome 2>errorLog.txt //将error错误输入到errorLog.txt文档当中。

    estHome.application.entry1

    apptool start -entry *** ***

    进入igerrit

    http://igerrit/#/c/324976/1
    http://172.25.24.102/anyplace/server.pat3
    抓取snatshop(高速)

    把别人的提交的代码拉取到本地,不用切分支直接进入到那个提交文件下面,check pick 就可以了。

    自己全编译升级 建立Dcu2文件,放入 system.img uramdisk.img userdata.img ,然后在服务器上copy对应的updakey文件。

    装载TSL
    1.到smb://ibigtom.storm/model/17Model/17Cy/90_TSL/UIE里面找装载文件。

    装载Demo
    apptool start net.suntec.app.TDHome.application net.suntec.app.TDHome.application.entry1

    看车参:
    var/system/vehicleinfo/
    vi Car.json

    mount -o remount rw /udisk 挂 sta载udisk
    cherr pick 从一个分支提交到另一个分支,在cherry pick下直接搜索要提交的分支
    wldebug 截图命令
    选择 顺序
    power_reset 重启DCU
    gnome-screenshot -a 截图命令
    SystemUI openInterrupt 打开中断
    krdc 打开远端控制

    (17时55分53秒) ruanxing: provider_tool content://system/info -u -kv 1 vehicle/microphone -s valid 连接蓝牙
    (17时57分40秒) ruanxing: provider_tool content://system/info -u -kv 1 vehicle/videorestrict -s on
    (17时59分32秒) ruanxing: provider_tool content://system/info -u -kv 1 vehicle/operestrict -s on    走行

    中负荷
    sh -c “while : ; do : ; done”
    高负荷
    sh -c “while : ; do : ; done” & 后台跑造成高符合
    grep -E ‘123|aaa’ filename grep 匹配两个关键字

    //取keyTrans
    testdiagservice
    5
    12

    //遇到编译不过的lib库,可以sudo apt-get install lib库 重新装一下
    ctrl + L 复制目录的快捷键
    ctrl + H 查看隐藏文件
    // repo start master --all
    将所有的分支签到master

    //直接进入到桌面目
    nautilus

    //修改车参
    mount -o remount -rw /system
    进入 /var/system/vehicleinfo
    busybox vi vehicleinfo.prop

    // 修改国家
    mount -o remount -rw /system
    进入 /system
    busybox vi build.prop.

    // 解决connot find -l***
    locate lib**

    //liunx 截图快捷键
    shift + PrScrn

    //切頁面的快捷鍵
    shift + AIt + Tab

    //meu DCU 连接不上输入命令 Navi
    handler_tool NHAvcLanHandler -m 1

    //截图全屏
    SysRq

    //进入debug模式
    desp -d 1

    //清除编译
    make clobber

    //更新API
    make -j4 update-api

    //删除软件命令
    sudo apt-get – purge remove 软件名

    //安装命令
    sudo apt-get install 文件名

    //安装repo 每一个新的项目都走一次 把
    ~$ git clone ssh://gerrit/16avh+n/tools/repo.git
    ~$ cd repo
    ~/repo$ git checkout stable

    ~/repo$ sudo cp repo /usr/bin #将repo放到系统目录下,方便以后使用
    ~/repo$ sudo chmod a+x /usr/bin/repo
    ~$ rm -rf repo

    //切換漢字简体和繁体
    shift + ctrl + f

    synergy:两台电脑鼠标同步工具

    //终端打开文件目录
    nautilus .
    //19AJ 截图
    前屏:screen -d 0 /extdata/xxx.png
    后屏: screen -d 1 /extdata/xxx.png
    //adb
    1 adb devices
    2 adb shell //adb 登陆
    //本地adb 推到实机
    1.adb remount
    2.adb xxx(文件) /system/xx(目录)/

    // ecplise 查看行号:ctr + F10
    Cyber代码仓库
    repo init -u ssh://gerrit/16avh+n/platform/manifest -b 16AVH+N
    repo sync
    repo start 16AVH+N --all

    Unbutu安装gcc gcc-c++环境
    1:sudo lsb_release -a
    2:dpkg -l | grep g++
    3:sudo apt-cache depends gcc-4.9
    4:gcc -v

    1. 删除apache
      在命令行中输入:
      $ sudo apt-get --purge remove apache-common
      $ sudo apt-get --purge remove apache

    2.找到没有删除掉的配置文件,一并删除
    代码:
    $ sudo find /etc -name “apache” |xargs rm -rf
    $ sudo rm -rf /var/www
    $sudo rm -rf /etc/libapache2-mod-jk

    3.删除关联,这样就可以再次用apt-get install apache2 重装了
    #dpkg -l |grep apache2|awk ‘{print $2}’|xargs dpkg -P

    命令行下使用sudo minicom命令可以打开串口工具
    命令行下使用sudo minicom -s命令可以打开工具的配置选项页
    串口工具状态下,可以先按组合键Ctrl+A,释放,然后x命令正常退出minicom工具
    按组合键Ctrl+A,释放后,与其他常用键组合使用,具有如下功能:
    S键:发送文件到目标系统中
    W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看单行内容比较长的信息时比较有用
    C键:清屏
    B键:浏览minicom的历史显示
    启动,配置串口时要使用root权限。
    非正常关闭minicom时,会在/var/lock下创建几个lck*文件,这几个文件会阻止minicom的运行,如果无法启动minicom可以删除这几个文件。

    .tar.gz
    解压:tar zxvf FileName.tar.gz
    压缩:tar zcvf FileName.tar.gz DirName

    快捷键:
    Unbutu系统复制路径快捷键:Ctrl+L
    ctrl+H 查看ubuntu下文件夹里面的隐藏文件
    Ubuntu在终端下打开文件夹图形界面:nautilus /var/www/

    连接服务器:ssh ni.wang@10.1.88.30
    //远程登录
    ssh lisiwei@:192.168.49.112

    Ubuntu切换源:点击软件和更新 选择Ubuntu软件->下载自->选择中国源

    eng/user/debug版本的区别:
    log方面:
    原则上user 版本只能抓到有限的log,eng 可以抓到更多的log,Debug 能力更强,推崇使用eng 版本开发测试
    因user/eng 版本设置ro.secure不同,导致user 版本adb 只拥有shell 权限,而eng 版本具有root 权限
    MTK System LOG 在ICS 以后,在user 版本默认关闭全部LOG, 在eng 版本中默认打开,以便抓到完整的资讯
    在eng 版本上,LOG 量 >= user 版本的log 量,一些地方会直接check eng/user 版本来确认是否打印LOG
    在eng 版本上,开启ANR 的predump, 会抓取ftrace,可以得到更多ANR的资讯
    user 版本默认关闭uart, eng 版本默认开启uart
    性能方面:
    原则上进行性能测试请使用user 版本测试
    user 版本为提高第一次开机速度,使用了DVM 的预优化,将dex 文件分解成可直接load 运行的odex 文件,ENG 版本不会开启这项优化
    更少的LOG 打印,uart 的关闭,原则上user 版本的性能要优于eng 版本
    aidl通信:
    1.新建aidl接口文件;
    IApplicationService.aidl{
    int callSafePay(string name,int money);
    }
    2.创建服务类:
    ApplicationService extends Service{
    private class MyBinder extends IApplicationService.Stub{
    实现aidl接口
    @Override
    public int callSafePay(String username, float money) throws RemoteException {
    syso(name);
    if(money>0){
    return 500;
    }else {
    return 200;
    }
    }
    }
    3.创建客户端类:
    MainActivity{
    private IApplicationservive mIService;
    private class MyApplication implements ServiceConnection{
    @Override
    public void onServiceConnected(ComponentName name, IBinder service) {
    System.out.println(“成功绑定到远程alipay服务上”);
    mIService = IAlipayService.Stub.asInterface(service);
    }

    		@Override
    		public void onServiceDisconnected(ComponentName name) {
     
    		}
    	}
    	客户端调用接口:
    	int reslut=mIService.callSafePay("张三",20);
    }
    

    GIT常用命令:
    sudo apt-get install nautilus-open-terminal
    安装ubuntu 终端 快捷方式
    sudo apt-get install minicom
    安装minicom
    DUMP
    dumpsys mediamanager.sourcemanagerservice

    git相关:
    git提交:remotes/16D5DOP/17D5DOP_MP
    1:git status.
    2:git checkout –b fenzhi1
    git checkout -b 本地分之 远程分支
    3:git add
    4:git checkout master(本地分支);
    5:git merge fenzhi1
    7:git branch –D fenzhi1:强制删除
    8: git branch --set-upstream-to origin/
    :建立本地dev分支与远程与远程origin/dev分支连接
    gitk 代码路径,代码树
    配置别名:git config --global slias.st status

    1. 创建仓库
      git init:在一个文件目录执行该指令,会把该目录快速设置成git的代码仓库
      gir clone:从远程服务器clone工程,也会创建一个代码仓库

    2. 提交修改
      git status:查看当前仓库状态,会提示哪些文件发生修改,哪些内容需要add&commit
      git add 文件名,添加文件到仓库
      git commit –m “XXX”:将Add的文件添加注释并且提交到代码仓库
      git log:能查看到刚才提交的信息
      git log –pretty=oneline:git Id
      git reflog:查看reset回去的git log commit id
      git shortlog:将开发者操作按照姓名分组
      git commit –amend –m “XXX”:第二次提交代码.会覆盖第一次提交的

    3. diff比较不同
      git diff 文件名:显示指定内容的前后变化
      git diff HEAD:显示上次提交节点的差别
      git还支持第三方更强大的diff工具:Meld、beyond compare
      gitk:图形化的log记录,查看图形化的修改提交记录,后面可以追加文件名查看指定文件的修改提交记录

    4. 别名设置,简化log
      git config –global alias.lg “log –color –graph –pretty=
      format:’%Cred%h%Creset-%C(yellow)%d%Creset%s%Cgreen(%cr)%C(bold blue)

    5. Git回退
      git checkout XXX文件名:将未add提交的修改内容全部还原,如果执行add后修改的内容,执行该指令会修改到执行好add后
      git checkout –XXX文件名:能将Add提交的内容都回退掉
      git reset HEAD XXX文件名:文件从暂存区回退到工作区

    6. 回退版本
      git reset --hard log:HEAD~1:回退一个版本
      git reset –hard HEAD~5:回退5个版本
      hard参数:不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本
      也可以通过commit ID回退到对应版本
      git reflog:可以查看所有操作历史
      git rm Text.txt文件名:删除文件

    7. 文件暂存
      git stash:将当前本地代码缓存
      git stash lish:查看当前暂存内容
      git stash apply/pop:内容恢复,后者会删除记录,前者可以通过git stash drop stash{0}删除暂存记录 或者 git stash clear,清空所有内容.

    8. 查看本地分支:
      git branch -> 查看本地分支,显示颜色不同且带星号的是当前所在分支。-r显示所有远程分支,-a显示所有本地分支和远程分支
      查看分支:git branch
      创建分支:git branch
      切换分支:git checkout
      创建+切换分支:git checkout -b
      合并某分支到当前分支:git merge
      删除分支:git branch -d
      git branch -vv -> 查看本地分支及其对应的远程分支,显示颜色不同且带星号
      的是当前
      所在分支。
      git checkout file name
      git checkout remote branch

    9. 远程仓库
      git本地仓库和git远程仓库通信,需要SSH进行身份认证

    git remote add:将本地代码库提交到远程仓库
    git remote :查看远程仓库的信息;
    git remote –v:显示更详细的信息
    git clone git 地址:从远程仓库clone下来,新建一个本地仓库
    10.其他
    git reset 哈希 值 -> 回退到指定的版本,只保留源码,回退commit和add状态
    git reset --soft 哈希值 ->回退到指定的版本,只回退commit状态,保留源码和add状态
    git reset --hard 哈希值 ->回退到指定的版本,源码,commit,add状态全部回退, 本地修改会丢失, 慎用
    哈 希值就是每次commit的标签,git log就可以看到,如果不想用哈希值,也可以用HEAD
    HEAD ->最近一次commit;HEAD^1 ->上一次commit;HEAD^2 ->上二次commit

    以上所有操作都是本地的。
    git remote -v:查看提交的远程分支地址。
    如果要提交到远程服务器,需要Push
    git push XXX HEAD:refs/for/当前分支名
    XXX 为每个项目特有的名称,每个项目不同,可按Tab填充,
    当前分支名 为代码git仓库当前的分支名,可用git branch查看
    -> push到一个临时分支,代码都需要Review的,Review完了以后,才会真正提交 上 去。
    在http://172.26.10.56:8080/查看Review的状态。
    在cgit(git 仓库)网址查看是否真正提交到服务器。

    Git 冲突的解决:
    在执行git pull命令时,如果和其他开发者在同一位置做了修改,可能会引起冲突,
    如果修改已经commit,再git pull 出现同一位置冲突,在冲突时,产生冲突的文件会被标记,用git status命令可以看到;
    没有出现同一位置冲突,但本地版本不是服务器最新版本,会出现本地commit记录与服务器不符而影响push。
    发生这些情况都需要利用git reset将本地版本回退到与服务器一致的位置,解决冲突;再进行git pull,更新至最新;
    然后重新依次进行git add、git commit、git push重新提交。

    Git代码产生冲突时,推荐先将本地自己的修改备份,然后利用文件比较工具(例如Meld),将自己的修改和服务器最新版本进行比较,手动合并完成merge。

    同一位置冲突,文件被标记的手动解决方法:
    1.找到并打开产生冲突的文件
    2.<<<<<<<(7个小于号)和=======(7个等于号)之间内容是当前开 发者的代码
    =======(7个等于号)和>>>>>>>(7个大于号)之间内容是其他开 发者的代码
    3.手动选择删除特殊符号及不需要的代码,完成merge工作
    4.执行git add –u命 令把解决好冲突的文件添加到暂存区
    5.执行git commit -m "log"命令进行merge提交
    在整个项目全代码根目录下
    repo forall -c + git命令 ->轮流进入项目的所有git仓库中执行这条git命令
    Git是目前世界上最先进的分布式版本控制系统,git与svn的五个基本区别。它有以下特点:
    分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;
    保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;
    Git离线操作性 :Git可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进行; 这意味着Git的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;
    Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG等);
    Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支;
    分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到GitHub中去;
    分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。

    git 的使用
    git init 在当前路径下初始一个git仓库
    git add 文件名 将该文件添加到暂存区里面去
    git commit -m ‘文件名提交’ 将文件提交到git上去。这里的提交是注释,可以使用命令 git log 来查看你提交文件时带的注释。
    git commit -m 一次性提交暂存区的所有文件
    git status 来查看是否还有文件未提交
    git diff 文件名 查看文件被改的内容。
    git log 查看提交记录
    git log --pretty=oneline 也是查看提交记录显示的内容少一点。
    git reset --hard HARD^ 可以退回到上一次的提交版本。
    git reset --hard HARD^^ 退回到上上一次的提交版本。
    git reset --hard HARD ~ 55 退回到第55次的提交版本
    git refolg 可以通过git reflog 查看我们退回后的版本号然后通过命令来恢复,
    git reset --hard 版本号 恢复HEAD^后的文件。
    git reset HEAD -filename 撤销git add操作的文件
    git reset commit_id 撤销git commit 操作
    git reset --soft HEAD^ 回滚一个commit
    git rm --cached 撤销git add
    git checkout 文件名 去除该文件上次的修改。
    git checkout . 去除一个文件夹下的所有文件
    git reset --soft commit_id 回退提交
    如下
    git reset --soft 051d0a640c47a8980ff6a18a5b3a87dd4b2d012d

    git branch 查看分支:

    git branch name 创建分支:

    git checkout name 切换分支:

    git checkout –b name 创建+切换分支:

    git merge name 合并某分支到当前分支:

    git branch –d name 删除分支:

    git remote -v 查看远程信息,fetch抓取,push推送

    git reset HEAD 加文件 取消掉不提交的文件
    git reset --HEAD 返回上一次提交
    git pull 更新代码
    git reset HEAD . 废弃git add 的文件
    git difftool
    T系之间的代码可以通过 git fetch ssh:***** ***代指内容,进行更新提交。

    git push aosp Leepi_MTK_E2:refs/for/Leepi_MTK_E2 android 提交代码
    git push origin master:refs/for/17Cy/MileStone/17CY_T0_Stable 提交代码
    git push origin master:refs/for/master 提交资料
    git push 远程主机名 本地分支名 远程分支名:git push origin master :refs/for/master
    切换到远端分支对应的本地分支
    git checkout -b A remotes/origin/A
    remote/origin/A 代表远端分支
    A为本地分支。
    如果要删除版本库中的文件
    1.
    工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
    版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

    如何提交代码
    git branch t1t2plus origin/17cyplus/master/t1t2plus 建一个分支指向远端的分支
    比如远端分支为 origin/17Cy/Demo/L2_Stable_Lexus_Touchpanel
    本地分支是不能和远端分支同名的‘任意名’.
    1.现在本地创建一个分支,不能和远端的分支名重复。
    2.然后进入自己建的分支“git pull”,将自己的代码与远端分支的代码同步。
    3.修改完代码,然后“git add -all”
    4.“git status”,查看是否add成功。
    5.然后,git commit-m “” 记得双引号
    [票号] 英文的说明
    Redmine/Any:票号  
    Redmine/Any:
    "
    6.然后,git push origin 本地分支名:refs/for/远端分支名 不要"remotes/origin"

    //查看文件的不同
    git difftool 文件
    git config -l
    // 起模拟机
    runemu
    git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
    git checkout -b 新的分支名 远程分支:git checkout -b 17D5DOP_MP 16D5DOP/17D5DOP_MP
    git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。

    git reset --hard c5bde0f6f6661a7a5770df7d8a5fa823d14f7a59 不保留源码
    git reset --soft c5bde0f6f6661a7a5770df7d8a5fa823d14f7a59 保留源码,回退到add.
    Qt 快捷键
    F4 在头文件和代码之间切换
    F2 在声明和实现之间切换
    Ctrl + k 打开定位器(locator)
    Ctrl + Shift + f 打开全局搜索框
    Ctrl + f 打开当前页面搜索框
    Ctrl + 鼠标滚轮 缩放代码
    Ctrl + 空格 | 视频]
    Ctrl + / 注释或取消注释
    Alt + 回车 快速修复,如为头文件中的方法添加实现,或为实现添加头文件中声明,为字符串增加多语言支持等,试一下。
    Ctrl + Shift +r 右键菜单’Refactor -> Rename‘,查找替换当前工程的 特定字符,可以使类名或方法名,方便重构操作。
    选中几行代码点Tab 几行代码同时缩进。

    Alt+左箭头:后退
    Alt+右箭头:前进
    Shift+左箭头:逐个选中代码
    Ctrl+上下箭头:上下翻动页面
    Ctrl+Shift+上下箭头:按照方法名移动光标

    Eclipse常用快捷键

    1. Ctrl+O:显示当前类的所有属性和方法
    2. Shift+Alt+W:当前类的位置,或点击Link with Editor
    3. Shift+Alt+→:选中一个方法名或参数,也可以选中if中的所有语句.相当于双击.
    4. Ctrl+T:找JAVA类
    5. Ctrl+Shift+G:找出调用某个方法的所有类.
    6. Ctrl+K/Ctrl+Shift+K:查找文件的下一个/上一个内容
    7. Ctrl+3:可以搜索Eclipse的常用功能
    8. Alt+Shift+N:在当前文件所在的包中创建一个任意类型的新类/Ctrl+N:想在任意目录下创建一个新类
    9. Ctrl+Shift+P:根据左大括号找到右大括号
    10. Ctrl+L:输入行数.跳转到特定行
    11. Ctrl+2+l:自动生成返回值
    12. Ctrl+Shift+l:Eclipse会在右下角弹出快捷键列表
    13. Ctrl+H 显示隐藏文件
    14. 生成getter和setter快捷键,eclipse:Shift+Alt+s Android studio:Alt+insert Mac系统:command+N

    vim退出
    :wq 或 ZZ 或 :x 保存文件并退出 vi
    :q! 不保存文件,退出 vi

    全编时会执行Cyber/build/core/MakeUpdate.py
    grep MakeUpdate.py Makefile -n 显示所在行数
    vi +1806 Makefile

    删除.ssh/id_rsa和id_ras.pub
    生成ssh:ssh-keygen -t rsa -C “wangni@iauto.com”
    cat ~/.ssh/id_rsa.pub
    重新设置完git user.name和user.email后需要执行:
    重置用户信息:git commit --amend --reset-author
    修改commit信息.

    git代码提交步骤:
    提交代码之前,先更新代码
    git remote -v:查看origin
    git checkout -b WL_v1.010120(分支别名) 16D5DOP/18d5dop/WL_v1.010120(来自于主分支)
    git branch -a 查看主分支下所有分支
    git branch -a | grep 1.010000 查找分支

    1. git status(先看跟本地代码有没有冲突)
    2. git stash (将本地代码缓存)
      git stash list(查看当前暂存的内容)
    3. git pull (提交代码先更新,远程连接好,只需要pull更新)
    4. git stash apply/pop 内容恢复,(后者会删除记录,前者可以通过git stash drop删除缓存的记录)
    5. git gui 变更描述,提交[19AJ][wangni][string]文言更新1.02
      git add 文件名
      git commit -m “”
      ****git commit --amend -m “番号名,变更描述” 追加提交,修改最后一次提交
    6. git push (项目名)develop HEAD:refs/forrefs/for/NX450(分支名)
      //查看文件的不同
      git difftool 文件 (meld)工具比较修改
      重新提交代码:
      git init :进入到项目目录下,输入 git init,完成创建代码仓库.执行后续的代码提交
    7. gitk 查看提交状态
    8. git log 能查看刚才提交的信息
    9. git status
    10. git reset HEAD (代码路径) 取消添加(已经add的代码,之后才能checkout)
      注意:HEAD代表当前版本,上一个版本用:HEAD,在上一个版本:HEAD^.
      *****:git reflog: 回退后,你突然后悔了,想回退回新的那个版本, 可是遗憾的是,你键入git log却发现没有了最新的那个版本号,
      git commit –amend修复最后一次更改
      键入:git reset –hard 版本号.
      git reset --hard c5bde0f6f6661a7a5770df7d8a5fa823d14f7a59 不保留源码
      git reset --soft c5bde0f6f6661a7a5770df7d8a5fa823d14f7a59 保留源码,回退到add.
    11. git branch
      git branch -vv:查看本地分支及其对应的远程分支,显示颜色不同且带星号*的是当前
    12. git stash list, git stash show stash@{0}
      git stash drop stash@{0}:删除缓存

    13.如果本地修改的代码没有commit到服务器,可以使用下面命令:
    repo forall -c “git reset --hard(重置commit) && git clean -fd(删除文件和目录) && git pull”
    14.git commit --amend -m “番号名,变更描述”
    15.删除远程文件的命令
    git rm –r –cached dirname
    git commit –m “delete file”
    git push origin master
    查看以前的代码:最近一次修改人和时间:git blame –L 2340,+100 文件路径
    (Mode/src/jp/pioneer/ceam/mode/modescreen/AAM/SCR_AAM_Base.java)

    //解决冲突
    git stash //保留自己本地的代码
    git pull // 拉取新的代码
    git stash pop //返回自己的代码
    git配置用户名
    git config --global user.name “wangni”
    git配置邮箱
    git config --global user.email “wangni@163.com”
    // 看一个文件的修改历史记录
    gitk SystemView/res/layout/vehicle_notice_popup.xml
    //查看git用户:user.name 邮箱
    git config --global user.email
    //更新远程分支的个数
    git remote update

    git stash save -a “messeag” 加保留信息
    git stash list 查看
    git stash apply stash@{id} 恢复
    git stash drop stash@{id]  移除stash

    git log   //用git log查看,提交记录
    git reset 6367fc939d0d5e0826828e8b147fda0511b75b23 --soft //用reset回退到我上一版

    追加提交

    1. git add “修改的文件”
    2. git commit --amend
    3. git push origin touchpanel:refs/for/17Cy/Demo/L2_Stable_Lexus_Touchpanel

    强制回退:
    git clean -df
    git checkout .

    ssh-keygen -t rsa -C yourname@example.com:创建SSH私钥和公钥,id_ras私钥用验证自己身份.id_ras.pub公钥用于向服务器表明自己的身份.

    git stash /git pull /git stash pop
    手动解决冲突后,git add 冲突文件,在git commit

    git pull --rebase:更新代码并且修复本地与远端同一分支提交历史不一致/相当于执行git pull和git rebase

    将本地feature分支的代码合并到主分支:当前分支切换到主分支,git merge feature,然后git status查看是否有冲突,需不需要手动解决

    git reset --hard head^:将版本回退到合并前,也就是回退一个版本.

    可以先将分支切到feature分支上,在feature分支上执行git rebase master:意思是以master为基础,将feature分支上的修改增加到master上,并生成新的版本.
    如果失败,产生冲突,手动修改冲突,然后执行git add,git rebase --continue继续完成之前的rebase操作

    https://www.jianshu.com/p/f7ed3dd0d2d8:git rebase的使用

    (合并远程库和你本地的代码)执行命令:
    git fetch 更新远程仓库文件,相当于是从远程获取最新版本到本地,不会自动merge
    git rebase origin/tamago/master
    git diff master origin/master 本地文件和远程仓库文件进行对比
    git merge origin/master 自动合并
    根据需求手动删除不必要的代码,修改完成git push到远程仓库

    git pull = git fetch + git merge
    git pull --rebase = git fetch + git rebase
    git rebase --abort 来终止rebase的行动

    git pull:相当于是从远程获取最新版本并merge到本地
    git pull origin master
    上述命令其实相当于git fetch 和 git merge
    在实际使用中,git fetch更安全一些
    因为在merge前,我们可以查看更新情况,然后再决定是否合并

    New:
    adb shell settings put system user_rotation 3
    更新玩完版本之后,需要过滤掉网络获取画面:
    adb shell pm disable com.living.activate
    串口用pm disable com.living.activate
    需要先su一下,给一个root权限
    打开开发者模式: am start -n com.android.settings/.Settings
    设置屏幕亮度:settings put system screen_brightness 255
    查看当前车机所有进程:ps -A
    pm disable com.living.activate
    settings put system user_rotation 3
    settings put system screen_brightness 255

    -2 车机中 snoop + brlinkd 路径 :adb pull data/brlink /home/wangni/workspace/log/
    LVLog路径:adb pull /sdcard/lvlog /home/wangni/workspace/log/
    墓碑文件:/data/tombstones/

    ASE-2:adb pull data/brlink E:\log
    ASE-2:adb pull /sdcard/lvlog E:\log
    ASE-1:adb pull /data/misc/bluedroid/ .

    命令启动MainActivity:adb shell am start com.liang.btmanagertest/com.liang.btmanagertest.MainActivity
    am start -n jp.pioneer.ceam.diag/.screens.screen.MM_13_01_01_01

    echo 0x12d1 > ~/.android/adb_usb.ini 写入0x12d1到abd_usb.ini文件
    创建文件 touch /etc/udev/rules.d/70-android.rules
    打开文件:gedit 文件
    重启之后如果微信没有了,执行:
    sudo dpkg -i /home/wangni/workspace/tools/deepin.com.wechat_2.6.8.65deepin0_i386.deb
    安装deb文件:sudo gdebi teamviewer_amd64.deb
    卸载deb文件:sudo dpkg -r ×××
    卸载adb,adbd:sudo apt autoremove

    安装和卸载VM的方法:https://www.cnblogs.com/yulongzhou/p/6798963.html

    ASE-1/ASE-3机器:crash文件存放路径:adb pull /system/dropbox E:\log\

    ASE-2升级:
    Recovery 方式烧录:
    1.将下载得到的 update.zip 拷贝到 U 盘根目录,将 U 盘接入到车机 USB
    通过串口或使用 adb 执行命令:reboot recovery
    2.
    省略:1.车机通过串口连接到电脑,在电脑串口下按住键盘上的‘c’键,然后车机上
    电。
    省略:2.在 cmd 模式输入“fasbtoot 0”,然后回车,车机将进入 fastboot 模式;
    需要安装fastboot:sudo apt-get install android-tools-fastboot

    用串口/adb执行:reboot fastboot
    连接之后在 PC 端使用sudo fastboot devices 命令可以确认当前是否存在 fastboot 设备;
    执行:
    sudo chmod +x fastboot.sh && sudo ./fastboot.sh

    Windows 环境:
    双击 fastboot.bat 文件

    重启车机:reboot/shutdown

    Ubuntu下adb devices出现??? no permissions:
    adb kill-server,sudo adb start-server,

    Ubuntu解决资源占用不可用
    方法一:
    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/dpkg/lock
    方法二:
    ps -e | grep apt
    sudo kill 进程号
    安装vm:sudo ./VMware-Player-15.5.1-15018445.x86_64.bundle
    删除vm
    sudo vmware-installer --uninstall-product vmware-workstation
    sudo vmware-installer --uninstall-product vmware-player
    VM破解码:AU558-D0G0Q-M84HZ-UEM5E-Q3RXA

    HFP协议通话 (Audio切换车机端和手机端)
    A2DP:媒体音频协议
    PBAP:蓝牙连接时,通话记录,通讯录导入
    (Contact:所有通讯录SIM和Phone/SIM中的通讯录/phone中的通讯录/Calllog通话记录)

    拷贝服务器上别人目录到自己目录:cp -R /data/ang.li/work/ work/

    通讯录数据库目录:/data/data/com.android.providers.contacts/databases

    车机声音录入
    2.sse.dump
    a.手动创建/data/sse_dump目录,并设置777权限
    b.执行命令:setprop sse.dump 1,开始录制
    c.执行命令:setprop sse.dump 0,结束录制
    d.文件说明:
    mic.pcm 原始2CH Mic
    vcom.pcm 处理后的2CH Mic(pading关闭的情况下,数据为原始Mic)
    vrec.pcm 原始2CH Mic + 4CH Ref
    vdl.pcm 处理后的2CH BtIn(pading关闭的情况下,数据为原始BtIn)

    正常手机:企业微信与微信:蓝牙音乐播放与不播放:手机端和车机端都可以录入声音
    打开sco,手机播的音频应该是通过sco通道并不是a2dp经耳机播出的,并不会走手机的。
    android原生带的gtalk可以实现你要求的功能,通话的时候使用sco(类似打电话),播放音乐的时候使用A2DP。但是我看还没有人把gtalk的源码研究出来是如何实现的,但是这也是一个方向。

    展开全文
  • 字符集,mysql的备份和导入

    二进制

    binary,varbinary,blob

    声音、图像、等二进制数据与字符集无关(图像存储为二进制文件,不然存放为非二进制就把二进制转换为相应的字符集(乱码)破坏了原数据)

    非二进制

    char varchar text

    字符集(utf8 gbk gb2312 big5)

    字符集的概念

    gbk、gb2312、utf8(每个字符集存储上万个字)

    一个汉字有2个字节,就等于8位,比如oxfe oxfa等于一个汉字,每个汉字在电脑都是這样储存

    • 简体的新华字典 gb2312

    • 繁体字典 big5

    • 简体繁体都有 gbk

    • gb2312 :6700多个汉字,2个字节

    • big5 :繁体字符集,13000多个汉字,大五码=2字节

    • gbk :21000多个汉字,简体和繁体 2个字节 //大部分操作系统都
      用gbk windows linux

    • utf8(万国码) :unicode 1-3个字节 a一个字节 盾3个字节

    • unicode(万国码) :国际标准化组织制定一套涵盖世界所有语种、所有符号的编码方案

    在mysql 显示出字符集

    mysql> show character set;
    
    mysql>create table cha (name1 varchar(30) character set utf8,name2 varchar(30) character set gbk);
    
    mysql>show create table cha(表名);//查看表的字段的字符集
    
    mysql>insert into cha(name1,name2) values("吨","吨");
    
    mysql>select length(name1),length(name2) from cha;  //读取字节
    
    mysql>select char_length(name1),char_length(name2) from cha ;
    
    mysql>charact set utf8 collate utf8_bin  //设置字符集校对规则,有ci的都不区分大小写的。 
    

    binary(3)//表示存放3个字节的二进制数据
    char(3) //存放3个字符

    mysql>show variables like "%character%";  //字符集
    
    character_set_client     | gbk           //客户端的字符集
    character_set_connection | gbk           //把客户端的发送字符集转换链接字符集,链接字符再转化成字段的字符集
    character_set_database   | latin1     //当前选中库的字符集
    character_set_filesystem | binary     //文件系统字符集
    character_set_results    | gbk        //当服务器接收到信息,返回字符集给客户
    character_set_server     | latin1   //默认字符集,如果库,表,字段都没有设置字符集就默认使用这个
    character_set_system     | utf8     //系统原数据的字符集,如表名,库名
    character_sets_dir       | E:\wamp\bin\mysql\mysql5.6.17\share\charsets\
    
    
    mysql>show variables like "%collation%";  //校对规则
    

    宽字节不要用set names (gbk);
    因为快字节的低四位很容易就剩生成一个/
    php是以字符串导入的,如果多了一个/,那他和后面的/就转义成一个/,
    那么就多了一个’就生成漏洞,可以输入/* */注释password来绕过验证,
    不用验证就进入管理页面,随意修改用户的信息。

    解决此问题:
    单独设置以下三个,把客户端字符集设置为二进制,二进制不存在转义字符,[set names(gbk)就是把一下三个都转化成gbk]

    character_set_connection
    character_set_results 
    character_set_client  
    

    数据的备份:

    (设置好环境变量)

    mysqldump -uroot -p (数据库名) > e:\blog.sql
    mysqldump -uroot -p 数据库名 表名> 导出的文件名	
    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    

    导入数据库

    mysql>use 数据库
    然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
    mysql>source d:\wcnc_db.sql
    
    展开全文
  • php版mysql大数据库备份和恢复工具

    热门讨论 2008-09-10 09:19:49
    在原faisunSQL 4.0的基础上,针对数据备份过程中出现乱码的问题,做了优化. 增强的功能: 1.自动识别数据库版本,对于MySQL 4.1以上,备份数据时提示选择字符集. 2.导入数据时,提示原数据库编码,并自动识别. 3.增加...
  • *修复了因为用户设置默认不显示图片或默认繁体中文界面导致无法显示图片或页面无法下载的问题 ----------2010-11-30 V1.2---------- *修复了非简体中文操作系统导出文件乱码的问题 ----------2010-11-22 V1.1----...
  • http://www.phome.net/ebak2010/前言、帝国备份王(Empirebak)简介EmpireBak是一款完全开源免费、专门为Mysql大数据的备份与导入而设计的软件,系统采用分卷备份与导入,理论上可备份任何大小的数据库.一、EmpireBak...
  • Vim基本命令备份

    2009-12-08 12:56:00
     繁体中文教程是从简体中文教程翻译版使用 Debian GNU/Linux 中文项目小  组的于广辉先生编写的中文汉字转码器 autoconvert 转换而成的,并对转  换的结果做了一些细节的改动。    变更记录∶ ...
  • Bareos的中文支持并不完美,其一是它只支持一种中文,所以现在的翻译是简繁体混杂;二是还有部分没翻译或翻译不精确;三是还有部分代码不支持多语言。 Bareos系统没有设置默认WebUI管理用户,在使用前必须先设置...
  • 写上你想写的</a>3)在新窗口打开连接:<a href="相关地址" target="_blank">写上要写的</a>消除连接的下划线在新窗口打开连接:<a href="相关地址" style="text-decoration:n...
  • <br />我想做一个每天的备份,于是想到了用%date%来取得当天的时间,然后做为每天备份的文件名.但取得的时间是这样的格式星期四 2004/12/09,中间有一个空格.如果做为文件名那只能取前面的星期几.有什么最简单的...
  • //支持繁体数据库 5.直接用ToString方法转换日期显示格式:   DateTime.Now.ToString("yyyyMMddhhmmss");   DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") 6.只显示年月   DataBinder.Eval(Container.Data...
  • 为了教育2岁多的儿子,家中买了很多正版的DVD 电影...要是有一个DVD 电影光盘备份软件,将新买的DVD电影光盘备份一份,正版盘保存起来,平时只看备份的盘,不就解决问题了。 在网上找了几个DVD 电影光盘备份软件。
  • Virtual Box yum -y install VirtualBox  85 uname -all  86 uname -a  87 yum list Virtual*  88 cd /home/wts/下载  89
  • 5、能识别多种名片语言,包含中文(简体、繁体),英文和其余15种欧洲语言(法文、德文、意利文、西班牙文、荷兰文、瑞典文、土耳其文等); 6、中、英文操作界面; 7、可自动备份名片信息至AiPim服务器,帮助...
  • CAD异常退出后如何恢复备份文件? 为什么CAD的图纸目录下会有扩展名*.tmp的文件? 为什么CAD保存的时候会自动生成DWFX文档? 为什么CAD图纸内容不多但文件特别大? CAD图纸异常大时怎么处理? CAD图纸文件为什么变...
  •  而显卡也要根据你的显卡型号去搜索,我的显卡是NVIDIA GeForce FX 5200,所以搜索NV两个,请看图片.  呵呵网卡和显卡卸载不彻底一般很少,而声卡出现这样的问题就很多,有的人说自己装了声卡驱动,但是确还没有声音...
  • 字体管家 安装程序

    2012-12-01 13:14:06
    字体管家 3.1  字体管家是一款专业的字体管理工具,... 增加简体繁体显示。  增加设置功能,可以设置为只下载不安装。自己设定下载目录。  提供字体修复功能(在设置里),可以修复字体文件夹无法安装字体的错误。
  • 工作用到语言,英文(eng),简体中文(zh-Hans),繁体中文(zh-Hant), 但是不能显示繁体,简体和英文可以正常显示。 自己在程序里设置语言通过方法[[NSUserDefaults standardUserDefaults] setObject: [NSArray ...
  • 繁体中文说明书 , 来了解 Moto Droid 的操作和硬件资料,也可以通过本教程详细了解这个手机的是如果操作的。 2. 以下是一些名词的解释 ◎ RAM RAM 是手机的程序内存 , 可以理解为手机的内存,...
  • 也就是我们应用内显示的字符串都要有不同语言的多个备份。 首先最重要一点是不能把要显示的字符串写死在代码里,而是应该写到对应的配置文件中,也就是res目录下的strings.xml中。 2、根据需求为每种要支持的...
  • 字体应用

    2017-04-26 18:39:56
    页面依赖的字体将会自动压缩好,原 .ttf 字体会备份到.font-spider中 可以发现,生成的字体只有几十KB,远小于原字体的2.5M bootstrap字体图标 现在font-spider不支持bootstrap的和fontAwesome的图标字体...
  • AX繁体中文标签

    2010-12-12 05:45:00
    AX里没有繁体中文的标签,只有简体中文,License Code里也只有简体中文。虽然从小用的都是简体中文,所以期望大统一,香港台湾大陆大家都用简体中文,叫法也统一一下,就不用这么麻烦了,但是人家还想让大陆统一成...
  • Windows系统字体转换工具(win7字体转换工具)是一款功能强大的系统字体管理工具,支持快速转换系统字体,还可以备份你的字体,批量转换TTF字体为Windows系统字体,支持简体,繁体,英文三中系统常用语言的字体。...
  • 这几天一直在研究中文的简体和繁体之间的转换问题,网上查了一下资料,在此进行整理和备份繁体中文有GBK码和BIG5码两种编码,简体中文一般使用的是GB2312编码。 这些编码之间的转换基本都是使用下列3个函数:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,574
精华内容 1,429
关键字:

备份的繁体字