`
jishublog
  • 浏览: 862018 次
文章分类
社区版块
存档分类
最新评论

android 量产软件改动信息(持续更新)

 
阅读更多

关键词:android 4.0默认语言蓝牙名称 MTP名称默认时区关于平板电脑 内核版本号
平台信息:
内核:linux2.6/linux3.0
系统:android/android4.0
平台:S5PV310(samsungexynos4210)

1、开关机logo;

2、用户模式、工程模式;

3、更改默认语言;

5、更改蓝牙名称;

6、更MTP名称;

7、更改“关于平板电脑”中的信息;

8、更改默认时区;

………………

以三星平台为基础,如果是其它平台,只做参考

下面只是一些做订单时候经常要改动的地方,没什么技术含量,不过我觉得这一部分也比较重要,研发出来的东西,卖出去换回钱,才是到我们最大的回报。这一部分会持续更新,指不定一个“极品”的客户要更改什么不靠谱的东西,记录下来,节省大家的时间,知道在那个地方改就行了。

1、开关机logo

现在好多公司就是个皮包公司,自己不做研发,在外面买,开机画面要做成他们特有的,所以这一点在工作中用的也是比较多的。中国的产品,那叫“泛滥”呀。

这篇文章中对logo有详细描述:android logo:内核、android开机动画

2、用户模式、工程模式

产品出去的时候,要用用户模式,这时串口终端是不能操作的,只能显示。三星平台有一个问题就是,在工程模式下,如果系统有点卡,会有一个红色的边框出现,这个问题我们老大叫它“BUG”,这个没法跟他去理论,总之不应该出现的东西都是BUG,那就转换成user模式,把这个问题解了。

这篇文章中有关于usr eng的描述:android 4.0 编译模式 eng -- > user 时遇到的问题

3、更改默认语言

做产品服务要周道,不能出到别的国家的东西,一开机会是中文的,那就有点不太友好了,英文好多地方可以接受,可是现在中文还是没有那么广泛应用的。其实android默认是En的,我们内单的就是改过来的。下面看我们怎么把默认的英文改成中文,为没过“CET4”的同学服务。

android/device/samsung/smdk4x12/full_smdk4x12.mk

PRODUCT_LOCALES := zh_CN \
       en_US \
       zh_TW \
       en_GB \
       fr_FR \
       it_IT \
       cs_CZ \
       de_DE \
       da_DK \
       el_GR \

用那个语言,把它放到早前面,就可以,如:

zh_CN:中文简体

zh_TW:中文繁体

en_US:英文(美国)

这篇文章中有对应的 语言地区Android 地区语言和简写对照表

5、更改蓝牙名称

android/external/bluetooth/bluez/src/main.c

static void init_defaults(void)
{
        /* Default HCId settings */
        memset(&main_opts, 0, sizeof(main_opts));
        main_opts.mode  = MODE_CONNECTABLE;
        main_opts.name  = g_strdup("W42");//更改这里的名称
        main_opts.discovto      = DEFAULT_DISCOVERABLE_TIMEOUT;
        main_opts.remember_powered = TRUE;
        main_opts.reverse_sdp = TRUE;
        main_opts.name_resolv = TRUE;
        main_opts.link_mode = HCI_LM_ACCEPT;
        main_opts.link_policy = HCI_LP_RSWITCH | HCI_LP_SNIFF |
                                                HCI_LP_HOLD | HCI_LP_PARK;

        if (gethostname(main_opts.host_name, sizeof(main_opts.host_name) - 1) < 0)
                strcpy(main_opts.host_name, "noname");
}

6、更MTP名称

android/system/vold/Volume.cpp

int Volume::formatVol() {

    if (getState() == Volume::State_NoMedia) {
        errno = ENODEV;
        return -1;
    } else if (getState() != Volume::State_Idle) {
        errno = EBUSY;
        return -1;
    }

    if (isMountpointMounted(getMountpoint())) {
        SLOGW("Volume is idle but appears to be mounted - fixing");
        setState(Volume::State_Mounted);
        // mCurrentlyMountedKdev = XXX
        errno = EBUSY;
        return -1;
    }

    bool formatEntireDevice = (mPartIdx == -1);
    char devicePath[255];
    char *label = NULL;
    dev_t diskNode = getDiskDevice();
    dev_t partNode = MKDEV(MAJOR(diskNode), (formatEntireDevice ? 1 : mPartIdx));

    setState(Volume::State_Formatting);

    int ret = -1;
    // Only initialize the MBR if we are formatting the entire device
    if (formatEntireDevice) {
        sprintf(devicePath, "/dev/block/vold/%d:%d",
                MAJOR(diskNode), MINOR(diskNode));

        if (initializeMbr(devicePath)) {
            SLOGE("Failed to initialize MBR (%s)", strerror(errno));
            goto err;
        }
    }

    sprintf(devicePath, "/dev/block/vold/%d:%d",
            MAJOR(partNode), MINOR(partNode));

    if (mDebug) {
        SLOGI("Formatting volume %s (%s)", getLabel(), devicePath);
    }
	label="W42";//更改这个名称
    if (Fat::format(devicePath, 0, label)) {
        SLOGE("Failed to format (%s)", strerror(errno));
        goto err;
    }

    ret = 0;

err:
    setState(Volume::State_Idle);
    return ret;
}

7、更改“关于平板电脑”中的信息

(1)、型号

android/device/samsung/smdk4x12/full_smdk4x12.mk

PRODUCT_MANUFACTURER := full_smdk4x12
PRODUCT_BRAND := full_smdk4x12
PRODUCT_MODEL := W42(QuadCore)

(2)、内核版本

这个有点不太好找,一个同事跟我说的,内核路径为:

kernel/scripts/mkcompile_h

# Generate a temporary compile.h

( echo /\* This file is auto generated, version $VERSION \*/
  if [ -n "$CONFIG_FLAGS" ] ; then echo "/* $CONFIG_FLAGS */"; fi
  
  echo \#define UTS_MACHINE \"$ARCH\"

  echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"

  echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"  //更改者两个echo的值
  echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"

  echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
) > .tmpcompile

(3)、版本号

android/out/target/product/w42/system/build.prop

ro.build.display.id=w42.eng.tim.20121224.093047
ro.build.version.incremental=eng.tim.20121224.093047

其实在build.prop目录中有许多,关于系统的信息,有兴趣的话可以看下。



8、更改默认时区

除的语言外,外单产品默认时区也要改动。找到相应的system.prop,加入下面语句。

android/device/samsung/smdk4x12/system.prop

#default time zone
persist.sys.timezone=Asia/Shanghai



9、在桌面放一图标,点击链接到一指定网址

10、把应用程序的图标默认放到桌面



分享到:
评论

相关推荐

    群联PhisonU盘量产

    本人从数码之家收集的U盘量产工具,未经任何改动,请放心使用。 如需更多更新的U盘量产工具,请到数码之家下载。 所有量产工具均出自数码之家论坛 httP://bbs.mydigit.cn

    osc-android-app2.0改动一下

    改动一下开源中国app.可以跑到android studio 1.3 preview2.0

    宇瞻8G(黑骑士AH325)量产工具PS2251-50主控.rar

    软件介绍: 一般量产步骤:先用GetInfo.exe查看主控芯片和VID/PID值。打开MPParamEdit_F1.exe,选择Advance Setting,Controller栏选择PS2251-50(注意这个要和你用GetInfo检测的相同),FC1 - FC20xFF -选择...

    Android对Linux内核的改动你知道多少?.txt

    Android对Linux内核的改动你知道多少?.txt

    Android-LayoutCast可以在应用不重启的情况下将res文件夹下的改动直接同步到手机上

    LayoutCast可以在应用不...使用LayoutCast,可以节约Android开发者的大量编译等待时间,非常适合真机调试界面的时候使用,推荐每一位开发者安装该利器。BUCK很快,但入侵性强,项目改动大,LayoutCast对项目改动小。

    Android调用WebService

    最近学习的是在android端如何去调用远程WebService,都说WebService是一种基于SOAP协议的远程调用标准,对于这个协议理解...该Demo参考《疯狂Android讲义》并做改动,希望可以帮助到初次接触Androi调用WebService的朋友

    android launcher

    android launcher4.0 未改动

    wget for android 完整版

    工作用到所以移植了一个,花了一天时间, 主要原因就是autoconfig对android还不支持,所以必须自己写Android.mk,可以直接下载运行, 移植方法还是比较麻烦,主要就是android和linux的一些lib没有的问题另外就是要改动一点...

    python svn 版本间改动文件列表

    svn两个版本之间改动的文件列表 包括新增和更新的文件 用PYTHON写的脚本

    Android开发权威指南 第二版

    《Android开发权威指南(第二版)》是畅销书《Android开发权威指南》的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45章精彩内容供读者学习。, 《Android开发权威指南(第二版)》全面介绍了...

    Android技术内幕.系统卷(扫描版)

    2.2 android对linux内核的改动 /37 2.2.1 goldfish /37 2.2.2 yaffs2 /38 2.2.3 蓝牙 /39 2.2.4 调度器(scheduler)/39 2.2.5 android新增的驱动 /40 2.2.6 电源管理 /41 2.2.7 杂项 /41 2.3 android对linux内核的...

    Android技术内幕.系统卷(清晰版扫描版)

    第2章有针对性地剖析了Android的内核机制和结构,以及Android对Linux内核的改动和增强;第3章分析了Binder的架构和工作机制,以及Binder驱动的实现原理;第4章分析了Android电源管理模块的机制与实现;第5章全面地...

    Android名片夹右侧索引

    一个很简单的android名片夹右侧索引栏的Demo,简单易懂,很好改动。

    Android技术内幕.系统卷 - 书签版

    第2章有针对性地剖析了Android的内核机制和结构,以及Android对Linux内核的改动和增强;第3章分析了Binder的架构和工作机制,以及Binder驱动的实现原理;第4章分析了Android电源管理模块的机制与实现;第5章全面地...

    android利用AlertDialog实现省份城市的选择

    利用AlertDialog弹出对话框实现省份城市的选择,直接运行就可以,省份城市数据直接存在android项目的values目录的arrays.xml下,只需要在里面...还有就是省份城市数据的文件名一定要arrays.xml,要想改动资料不要手残啊

    基于Android的投票管理

    基于Android的投票管理,使用自定义控件进行设计,可以自己改动

    移动 android studio 天气预报

    移动 android studio 天气...最近买了本书《Android第一行代码》,通篇看了下感觉不错,书本最后有个实战项目酷欧天气,闲来无事就照着敲了一遍代码,主要在请求天气接口和背景优化做了些小改动,现在来记录下。 weathe

    Launcher源码(Android 6.0系统原生)

    Android 6.0系统原生Launcher,只改动包名;可直接编译安装;

    android曲线图的绘制

    android自定义曲线图,一个测试小demo,测试运行没问题,可以根据自己的需求做改动

Global site tag (gtag.js) - Google Analytics