固件制作中常见问题

来源:互联网 发布:软件版权和著作权 编辑:程序博客网 时间:2024/04/29 17:48

默认语言以及model number修改路径:main4_3g_herpa/android/device/samsung/w30/w30.mk;


linux内核启动logo(开机第一眼看到的):main4_3g_herpa/kernel/drivers/video/logo;

png格式的图片转换成ppm格式的方法:

 pngtopnm linuxlogo.png > linuxlogo.pnm
 pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
 pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm


开机android logo:/main4_3g_herpa/android/device/magiclab/common/inhouse_app/apk/logo

开机铃声:

开机文件类型必须是.ogg或者.wav格式的,如果需要有开机音乐,就在/system/media/audio/ui/添加poweron.oggpoweron.wav文件。不添加则为不需开机音乐。


添加固件APK:/main4_3g_herpa/android/device/magiclab/common/inhouse_app/apk/app
zImage位置:/main4_3g_herpa/kernel/arch/arm/boot
kernel version修改路径:/main4_3g_herpa/kernel/scripts/mkcompile_h
修改静态壁纸:/main4_3g_herpa/android/packages/apps/Launcher2/res/xml下:
  ./packages/apps/Launcher2/res/xml/default_workspace.xml
./packages/apps/Launcher2/res/drawable-hdpi/ic_launcher_herpapage.png
./packages/apps/Launcher2/res/drawable-mdpi/ic_launcher_herpapage.png
 ./packages/apps/Launcher2/res/values/strings.xml

voiceDial翻译问题:android/packages/apps/VoiceDialer/src/com/android/voicedialer/CommandRecognizerEngine.java
Data roaming缺省值设置:android/packages/apps/Phone/src/com/android/phone/setting.java
        // lijin
                android.content.SharedPreferences share =getApplicationContext().getSharedPreferences("auto_sync_config.xml", 0);
                String value = share.getString("m_checked", "");
                if ("1" == value) {
                         mButtonDataRoam.setChecked(mPhone.getDataRoamingEnabled());
                }else{
                        share.edit().putString("m_checked", "1").commit();
                        mButtonDataRoam.setChecked(false);
                }

bluetooth卷标修改:main4_3g_herpa/android/external/bluetooth/bluez/src/main.c
Build number修改:/main4_3g_herpa/android/build/tools/buildinfo.sh
默认待机时间设置:android/frameworks/base/packages/SettingsProvider/res/values/default.xml
修改系统时区:/main4_3g_rspi12141201po/android/device/samsung/w30/system.prop
打包方法:. build/envsetup.sh   launch w22ref-user make otapackage -j4
修改浏览器默认主页:android/packages/apps/Browser/res/values/strings.xml
修改浏览器标签:android/packages/apps/Browser/res/raw和android/packages/apps/Browser/res/values/bookmarks_icons.xml以及android/packages/apps/Browser/res/values/strings.xml
铃声存放位置:android/frameworks/base/data/sounds----》out/target/product/w22ref/obj/PACKAGING/target_files_intermediates/w22ref-target_files-eng.lijin/SYSTEM/media/audio/
----》out/target/product/w22ref/system/media/audio/

修改默认壁纸:frameworks/base/core/res/res/drawable-large-nodpi/default_wallpaper.jpg和frameworks/base/core/res/res/drawable-xlarge-nodpi/default_wallpaper.jpg

修改静态壁纸:packages/apps/Launcher2/res/drawable-nodpi/和packages/apps/Launcher2/res/drawable-sw600dp-nodpi/和packages/apps/Launcher2/res/values/wallpaper.xml和packages/apps/Launcher2/res/values-sw600dp/wallpaper.xml

修改system大小方法:android/device/samsung/w30/BoardConfig.mk中修改BOARD_SYSTEMIMAGE_PARTITION_SIZE的大小。

修改音量:android/frameworks/base/media/java/android/media/AudioManager.java

ssh使用方法:ssh ramos1@192.168.1.162  password:1

登录服务器:smb://192.168.1.6/

亮度调节:kernel/drivers/video/backlight/pwm_bl.c

去掉语音通话功能,只保留数据业务:android/frameworks/base/core/res/res/values/config.xml 中 <bool name="config_voice_capable">false</bool>

修改DDR频率:uboot/include/config/smdk4412.h 中 #define CONFIG_CLK_BUS_DMC_200_400

烧错DDR恢复:运行uboot_2GDDR/sd_fuse/smdk4412/sd_fuse.sh /dev/sdc;连接串口,按开机键,在命令行输入:mmc erase boot  1  0  0

新闻与天气apk:GenieWidget.apk

--------------------------------------------------------------------
Apktool命令:

apktool d XXX.apk PATH       //反编译XXX.apk到文件夹PATH

apktool b PATH            //从文件夹PATH重建apk到PATH\dist\out.apk
---------------------------------------------------------------------

设置安装google市场apk使能:frameworks\base\packages\SettingsProvider\res\values\defaults.xml

UA profile 修改位置:android/frameworks/base/core/java/android/webkit/FrameLoader.java和android/frameworks/base/core/res/res/values/config.xml
    (<string name="config_useragentprofile_url" translatable="false">http://www.fly-phone.ru/UAP/Fly_IQ360_3G.xml</string>)

修改自己的UA String 主要改动有两个文件。packages\apps\Browser\src\com\android\browser\BrowserSettings.java和packages\apps\Browser\res\values\strings.xml。

输入法和语言中去掉其他语言:packages/apps/Settings/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java和

Download中添加确定键:android/packages/providers/DownloadProvider/ui/src/com/android/providers/downloads/ui/DownloadList.java中

wifi direct名修改:frameworks/base/core/res/res/values/strings.xml

修改Spelling correction语言:packages/inputmethods/LatinIME/java/res/xml/spellchecker.xml

apns(MMC GPRS)修改:android/development/data/etc/apns-conf.xml

**********************************************************************************
Setting中Accounts&sync中switch default设置:/packages/apps/Settings/src/com/android/settings/accounts/ManageAccountsSettings.java中添加:
import android.content.SharedPreferences;
import android.content.Context;

    setDefaultSync(getActivity());
    public static void setDefaultSync(Context context) {
    SharedPreferences share = context.getSharedPreferences("auto_sync_config.xml", 0);
    String value = share.getString("auto_sync", "");
    if ("1" == value) {
        return;
    }
    share.edit().putString("auto_sync", "1").commit();
    ContentResolver.setMasterSyncAutomatically(false);
    }
*************************************************************************

Mms setting中缺省自动删除短信:packages/apps/Mms/src/com/android/mms/util/Recycler.java中DEFAULT_AUTO_DELETE  = true

android 如何修改默认时间格式 .
1. 修改文件alps\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
增加代码<string name="time_12_24" translatable="false">24</string>
红色标记表示24小时制,也可以改为12(12小时制)
2. 修改文件
alps\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
找到函数loadSystemSettings (),在函数中增加以下语句:
loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.time_12_24);
另:代码中时根据各国的当地的习惯设置默认值的,具体各国各地的参考文件为:external\icu4c\data\locales,中文参考zh.txt文件中的DateTimePatterns,但是我改了没有效果。上面的方案修改后则会所有国家和地区默认的时间格式都为24小时制了。

修改音量:frameworks/base/media/java/android/media/AudioManager.java

图片修改制造商:android/packages/apps/Gallery2/src/com/android/gallery3d/ui/DialogDetailsView.java

samsung增加删除语言:/main4_flay/android/build/target/product/locales_full.mk
        and android/build/target/product/languages_full.mk
    (注:语言是是:w30.mk + full_base.mk + locales_full.mk + languages_full.mk)

浏览器添加壁纸:packages/apps/Browser/res/raw/和android/packages/apps/Browser/res/values/bookmarks_icons.xml
浏览器默认主页:/home/lijin/mydroid/main4_flay/android/packages/apps/Browser/res/values/string.xml
API报38错误解决方法:make update-api TARGET_PRODUCT=full_smdk4x12

注意:修改开机动画时压缩文件需在windows下采用存储方式压缩方能生效。

在linux中压缩方法:

bootanimation制作为.zip压缩文件。命令:zip-r -X -Z store bootanimation part1/*.png part2/*.png desc.txt(示例中的图片是png格式)。


android启动动画需要一个bootanimation.zip, bootanimation.zip 放在 /system/media 目录下,动画是由系列图片连续刷屏实现的.
bootanimation.zip文件是zip压缩文件,压缩方式要求是存储压缩,包含一个文件和两个目录:
e
    1.动画属性描述文件:desc.txt
    2.第一阶段动画图片目录:part0
    3.第二阶段动画图片目录:part1

desc.txt文件内容:
    480 427 30
    p 1 0 part0
    p 0 10 part1
   
desc.txt文件分析:
    480  427   30
     宽   高    帧数
      p         1              0                      part0
    标志符 循环次数 阶段切换间隔时间  对应目录名
      p         0             10                     part1
    标志符 循环次数 阶段切换间隔时间  对应目录名

    ==================
    标志符:
        必须是: p

    循环次数:
        0 : 表示本阶段无限循环

    阶段切换间隔时间:
        单位是一个帧的持续时间,比如帧数是30,那么帧的持续时间就是1秒/30 = 33.3毫秒。
        阶段切换间隔时间期间开机动画进程进入休眠,把CPU时间让给初始化系统使用。
        也就是间隔长启动会快,但会影响动画效果。

part0和part1目录内包含的是两个动画的系列图片,图片为PNG格式。

系列图片文件的加载刷新按文件名的名称排序。

boot.img是正常启动的镜像,由header+kernel(不带ramdisk的uImage)+ramdisk.img构成。

adb shell里面ls提示opendir failed, Permission denied 没有权限,需要adb root,adb remount一下就可以了

 修改default_workspace.xml后,如何显示修改后的内容。
修改default_workspace.xml后, ./mk 项目名 mm packages/apps/launcher2  也就是编译你修改的模块,然后用USB连接手机,用adb命令删除手机中的数据,我的操作是这样的:
1. adb shell
2.cd data/data/com.android.launcher2 (进入对应的数据区域)
3.rm -r databases  (删除数据)
4.运行out\target\product\项目名\system\app下面刚编译生成的launcher2.apk
按照以上步骤,就可以快速验证自己修改的问题了,我昨天就是这样修改桌面的。


添加删除驱动程序:kernel/arch/arm/config/w30_android_defconfig

原因:Ubuntu 11.10的gcc 4.6版本太高了,android编译需要gcc 4.4

解决办法:更换gcc、g++版本4.6为4.4

                         sudo apt-get install gcc-4.4

                         sudo apt-get install g++-4.4

                         sudo rm -rf /usr/bin/gcc /usr/bin/g++

                         sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

                         sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++

            sudo apt-get install g++-4.4-multilib




想知道目前我的 shell 环境中, 有多少变量啊?!呵呵!我们可以利用两个指令来查阅,分别是 env 与 export

adb shell之后getevent可以查看input子系统的使用情况。

反汇编指令:arm-none-linux-gnueabi-objdump -D u-boot > u-boot.lds


修改lcd显示密度:device/rockchip/rk30/device.mk 中ro.sf.lcd_density=320 (out/target/product/rk30sdk/system/build.prop中ro.sf.lcd_density=240)



linux只是一个kernel,位置存放在/boot/vmlinuz*;/lib/modules/3.0.0-32-generic/kernel/中。
修改ubuntu语言:/usr/default/locale




intel:
  修改喇叭音量:etc/parameter-framework/Settings/Audio/AudioConfigurableDomains.xml中的Path="/Audio/CIRRUS/SOUND_CARD/MIXER/SPEAKERPHONE_LINE/AUDIO_SERIAL_PORT_SOURCE/VOLUME">和 Path="/Audio/CIRRUS/SOUND_CARD/MIXER/EAR_SPEAKER_LINE/AUDIO_SERIAL_PORT_SOURCE/VOLUME"的值

   修改摄像头方向:etc/camera_profiles.xml

查看UAprofile方法:在平板上输入http://www.useragentstring.com

远程拷贝:scp username@192.168.0.7:/home/files ./
0 0
原创粉丝点击