insmod /nand.ko

出固件

1.查看是否有3G上网

  路径:android_xx\out\target\product\crane-xx\system\etc\ppp

  方法:

  call-pppd文件是否有权限。

2.预装APK

(1)、预装系统APK

路径:android_xx\device\softwinner\crane-xx\apk_start

对应out路径:

android_xx\out\target\product\crane-xx\system\app

方法:把需要安装的APK放到apk_start文件夹下,不要有中文名和空格。

(2)、预装系统非系统APK

路径:android_xx\device\softwinner\crane-xx\apk

对应out路径

android_xx\out\target\product\crane-xx\system\preinstall

方法:把需要安装的APK放到apk文件夹下,不要有中文名和空格。

3.删除系统APK

路径:

  (1)、SDK2.3中\android_xx\device\softwinner\crane-xx

  方法:

  Mkfs.sh文件mkimg_system()的方法中rm -rf app/加上需要删除的系统apk

  (2)、SDK4.0中\android_xx\device\softwinner\crane-xx

  方法:

  Package.sh文件中

  #!/bin/bash

  rm $OUT/system/app/xx.apk

  make systemimage-nodeps(需要加这一句,不然无用)

4.修改设备信息

路径:

\android_xx\device\softwinner\crane-xx

方法:

crane_xx.mk文件中

  (1)PRODUCT_PROPERTY_OVERRIDES += \ro.product.firmware=2.0.4

  修改数字即可修改固件版本。

  (2)PRODUCT_MODEL := A10

  修改等号后面即可修改设备型号。

  init.sun4i.rc文件中

  (3)format_userdata A10 (SKD2.3) format_userdata /dev/block/nandi A10(SDK4.0)

  修改(SDK2.3)format_userdata后面的信息即可修改falsh盘符

  修改(SDK2.3)format_userdata/dev/block/nandi后面的信息即可修改falsh盘符

  路径:\android_xx\out\target\product\crane-xx\system

  build.prop文件中

  (4)ro.build.display.id=crane_chip-eng 4.0.1 ITL41D eng.xinwu.20111230.115415 test-keys

  修改“=”后面的信息即修改版本号。

5、连接显示修改

sys_config1..fex中

  [usb_feature]

  vendor_id = 0x18D1

  mass_storage_id = 0x0001

  adb_id = 0x0002

  manufacturer_name = "USB Developer"

  product_name = "Android" //豌豆荚显示名字

  serial_number = "20080411" //豌豆荚显示名字

  [msc_feature]

  vendor_name = "USB 2.0" //电脑显示驱动

  product_name = "USB Flash Driver" //电脑显示驱动

  release = 100

  luns = 2

6.修改默认壁纸

  (1)SDK2.3 路径:\android2.3\frameworks\base\core\res\res\drawable

  (2)SDK4.0 路径:android4.0\frameworks\base\core\res\res\drawable-large-nodpi和

  drawable-sw600dp-xhdpi

  方法:把需要设为壁纸的图片放到此路径下,文件命名为:default_wallpaper.jpg

7.桌面widget、快捷方式和Hotseat

SDK2.3路径:

android2.3\device\softwinner\crane-common\overlay\packages\apps\Launcher2\res\xml

SDK4.0路径:

android4.0\packages\apps\Launcher2\res\xml

方法:default_workspace.xml中

(1)、widget

<appwidget

launcher:packageName="com.android.settings" //应用的包名

launcher:className="com.android.settings.widget.SettingsAppWidgetProvider"

//应用的类名

 launcher:screen="1" //第几屏 分为5屏(0,1,2,3,4)主屏为第二屏

launcher:x="0" 屏x坐标 (0,5)

launcher:y="3" 屏y坐标 (0.,4)

launcher:spanX="4" //widget占用的x格数

launcher:spanY="1" /> //widget占用的y格数

(2)、快捷方式

<favorite

launcher:packageName="com.android.gallery3d"

launcher:className="com.android.gallery3d.app.Gallery"

launcher:screen="3"

launcher:x="1"

launcher:y="3" />

参数意义同widget

(3) Hotseat (SDK2.3上和SDK4.0小分辨率屏上)

<favorite

launcher:packageName="com.android.browser"

launcher:className="com.android.browser.BrowserActivity"

launcher:container="-101"

launcher:screen="4"(0,1,3,4) screen=2 为所有应用程序占的屏

launcher:x="4" (0,1,3,4) x=2 为所有应用程序坐标

launcher:y="0" />

container的值为desktop时显示在桌面上,值为bottombar是显示在hotseat上。

参考网址:http://wenku.baidu.com/view/c513fb25a5e9856a5612602a.html

8.按键设置

  使用adb进入shell命令 输入getevent 然后按键获得键值(为16进制)转换为10进制

  路径:\android_xx\out\target\product\crane-xx\system\usr\keylayout

  方法:修改文件sun4i-keyboard.kl中key后面的值

  路径:\android_xx\device\softwinner\crane-xx

  方法:修改文件sun4i-keyboard.kl中key后面的值

  常用的键值有:

  key 139 VOLUME_DOWN WAKE //音量减键

  key 217 VOLUME_UP WAKE //音量加键

  key 102 HOME WAKE //Home键

  key 115 BACK WAKE //返回键

  key 114 MENU WAKE_DROPPED //菜单键

9.修改屏保默认时间

SDK2.3路径:

android_xx\device\softwinner\crane-common\overlay\frameworks\base\packages\SettingsProvider\res\values

SDK4.0路径:

frameworks\base\packages\SettingsProvider\res\values

方法:defaults.xml中

<integer name="def_screen_off_timeout">1800000</integer> //(单位:毫秒)

修改18000000的值即可

10.修改屏默认亮度

SDK2.3路径:

android_xx\device\softwinner\crane-common\overlay\frameworks\base\packages\SettingsProvider\res\values

SDK4.0路径:

frameworks\base\packages\SettingsProvider\res\values

方法:defaults.xml中

<!-- Default screen brightness, from 0 to 255. 102 is 40%. -->

<integer name="def_screen_brightness">204</integer>

修改204的值即可。

11.修改浏览器默认网址

  SDK2.3路径:

\android2.3 \device\softwinner\crane-common\overlay\packages\apps\Browser\res\values

SDK4.0路径:

packages\apps\Browser\res\values

方法:strings.xml文件中

<string name="homepage_base" translatable="false">

http://www.google.com/webhp?client={CID}&amp;source=android-home</string>

  注意加上http://。

12.修改应用背景(适用于SDK2.3)

  路径:android2.3\packages\apps\Launcher2\src\com\android\launcher2\AllApps2D.java

  方法:onFinishInflate文件中,setBackgroundResource(R.drawable.app_back);

在packages\apps\Launcher2\res\drawable文件中放一张图片名称为app_back的图片即可(图片格式为jpg最好,png也行)。

13.设置Android默认壁纸为动态壁纸

路径:android4.0\frameworks\base\core\res\res

方法:config.xml文件中

  <string name="default_wallpaper_component">@null</string>

  将其修改为对应的live wallpaper的启动component即可,如要把默认壁纸设置为2.1自带的galaxy,这样写即可:<string name="default_wallpaper_component">com.Android.wallpaper/com.android.wallpaper.galaxy.GalaxyWallpaper</string>

这里的com.Android.wallpaper/com.android.wallpaper.galaxy.GalaxyWallpaper是动态壁纸的service的名字。

14.设置默认输入法

  路径:frameworks/base/core/res/res/values/config.xml 添加一个属性:

  <string name="config_default_input_method">com.android.inputmethod.pinyin/.PinyinIME</string>

  路径:

frameworks/base/services/java/com/android/server/InputMethodManagerService.java

   的方法buildInputMethodListLocked() 里添加: ? ?

   String defaultIme = Settings.Secure.getString(mContext

    .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);

    //add by bluesky

    if ( defaultIme == null ) {

    final Resources res = mContext.getResources();

    try {

    //frameworks/base/core/res/res/values/config.xml

    String myIME = res.getString( com.android.internal.R.string.config_default_input_method );

    if ( myIME != null && myIME.length() > 0 )

    {

    Settings.Secure.putString( mContext.getContentResolver(),

    Settings.Secure.DEFAULT_INPUT_METHOD, myIME );

    }

    }

    catch ( Exception e )

    {

    }

    }

参考网考:http://hi.baidu.com/wishwingliao/blog/item/65a2d03f7dde8dd17d1e71ec.html

或者:

frameworks/base/services/java/com/android/server/InputMethodManagerService.java

   的方法buildInputMethodListLocked() 里添加: ??

   static final String DEFAULT_IME_ID = "com.guobi.gbime/.GBIme";

   String defaultIme = Settings.Secure.getString(mContext??????????????? .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);??? ??? // set default ime as gbime??? ??? if (defaultIme == null) {??? ??? ??? Settings.Secure.putString(mContext.getContentResolver(),??????????????????? Settings.Secure.DEFAULT_INPUT_METHOD, DEFAULT_IME_ID);??? ??? }??????? defaultIme = Settings.Secure.getString(mContext??????????????? .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);

以下只在4.0上测试过。

15.修改壁纸

路径:android4.0\packages\apps\Launcher2\res\drawable-sw600dp-nodpi中

方法:添加一张需要为壁纸的图片像素尽量要大如1920x1280命名为wallpaper_xx.jpg

同时把这张图压缩成大概213x189像素的图片命名为wallpaper_xx_small.jpg

还需在路径:android4.0\packages\apps\Launcher2\res\values-sw600dp中

方法:wallpapers.xml中添加<item>wallpaper_xx</item>项

16.修改bootlogo

路径:lichee\tools\pack\chips\sun4i\wboot\bootfs\linux

方法:替换linux.bmp图片即可,如不要bootlogo则在linux.ini中logo_show = 1

改为0

17.去掉超清播放器->将照片设置为->联系人照片

  路径:android4.0\packages\apps\Contacts\AndroidManifest.xml

  方法:找到<data android:mimeType="image/*" />去掉即可。

18.(1)去掉音乐->菜单->用作铃声

路径:android4.0\packages\apps\Music\src\com\android\music\MediaPlaybackActivity.java

方法:找到menu.add(1, USE_AS_RINGTONE, 0, R.string.ringtone_menu_short)

.setIcon(R.drawable.ic_menu_set_as_ringtone);注释掉即可。

(2)去掉音乐->长触任意歌曲弹出菜单->用作手机铃声

路径:android4.0\packages\apps\Music\src\com\android\music\TrackBrowserActivity.java +(655)行

方法:注释掉menu.add(0, USE_AS_RINGTONE, 0, R.string.ringtone_menu);

19.去掉搜素->点击左边搜素图标->选择可搜索项->联系人

  路径:android4.0\packages\apps\Contacts\AndroidManifest.xml

  方法:找到<action android:name="android.intent.action.SEARCH" />去掉即可。

20.编译内核驱动。

提示让你选择的时候,应该选择m(编译模块);y(编译到内核),n(不编译);

没有编译的时候如果想在编译可以cd linux-3.0中然后输入make menuconfig ARCH=arm

将你要选择编译的驱动前加上m,然后在重新编译内核。

21.增加系统最大的音量

Android的音量调节是通过软件来实现的,为此更改:frameworks/base/media/java/android/media/AudioService.java如下:

55 private int[] MAX_STREAM_VOLUME = newint[] {

156 5, // STREAM_VOICE_CALL

157 7, // STREAM_SYSTEM

158 7, // STREAM_RING

159 10, // STREAM_MUSIC

160 7, // STREAM_ALARM

161 7, // STREAM_NOTIFICATION

162 15, // STREAM_BLUETOOTH_SCO

163 7, // STREAM_SYSTEM_ENFORCED

164 15, // STREAM_DTMF

165 10 //

22.添加公司名称

路径:android4.0\packages\apps\Settings\res\xml\device_info_settings.xml

方法: 添加<Preference android:key="company_name"

style="?android:preferenceInformationStyle"

android:title="@string/company_name"

android:summary="@string/device_info_company_name"/>

路径:android4.0\packages\apps\Settings\res\values\strings.xml

方法:添加英文名称: <string name="company_name">"Company name"</string>

<string name="device_info_company_name">"U.zone"</string>

路径:android4.0\packages\apps\Settings\res\values-zh-rCN\strings.xml

方法:添加中文名称: <string name="company_name">"公司名称"</string>

<string name="device_info_company_name">"优择科技有限公司"</string>

23.修改相机的默认曝光值

路径:android4.0\packages\apps\Camera\src\com\android\camera\CameraSettings.java

方法:找到public static final String EXPOSURE_DEFAULT_VALUE = "-2";修改其值即可修改它的默认曝光值,但是相机显示的还是原来曝光值,还需在

路径:android4.0\packages\apps\Camera\res\values\string.xml

方法:找到<string name="pref_exposure_default" translatable="false">-2</string>同时修改其值。

24.截屏功能不能用

路径:frameworks\base\policy\src\com\android\internal\policy\impl\ PhoneWindowManager.java

方法:android4.0以后的版本增加了组合键截屏的功能,按住音量减键,同时按power键可以实现截屏功能,音量键和power键按下的时间间隔不能超过SCREENSHOT_CHORD_DEBOUNCE_DELAY_MILLIS(改变量定义在 PhoneWindowManager.java中),否则无法截屏,默认的定义为150,即按下音量减之后会等待150ms,如果在此时间内有power键按下,则认为是组合键截屏功能,否则认为是单纯的音量减功能;

注意,该定义值不宜过小,过小则组合键截屏的功能实现不了,过大则音量减功能反应迟钝;建议修改其值为500(先按电源键2~3秒不放,然后按音量减)

25.添加语言支持。

路径:android4.0\device\softwinner\crane-xx

方法:crane_xx.mk中添加一行代码PRODUCT_LOCALES := zh_CN en_US fr_FR it_IT es_ES de_DE nl_NL cs_CZ pl_PL ja_JP zh_TW ru_RU nb_NO es_US da_DK el_GR tr_TR pt_PT pt_BR rm_CH sv_SE bg_BG ca_ES en_GB fi_FI hr_HR hu_HU in_ID iw_IL lt_LT lv_LV ro_RO sk_SK sl_SI sr_RS uk_UA vi_VN tl_PH ar_EG ar_IL ko_KR pl_PL。

26.字体大小。

路径:android4.0.3\frameworks\base\core\java\android\content\res\Configuration.java

方法:这个文件里面找到454行

fontScale

0.85f --> 小

1.0f --> 普通

1.15f --> 大

1.30f --> 超大

27.查看所有窗口小部件的 类名 和receiver名

路径:packages\apps\Setting\src\com\android\setting\appwidgetpickactivity.java

方法:void putAppWidgetItems(List<AppWidgetProviderInfo> appWidgets,

List<Bundle> customExtras, List<PickAdapter.Item> items) {

...............

item.packageName = info.provider.getPackageName();

item.className = info.provider.getClassName();

Log.v("mylog","##############item.packageName = "+item.packageName + ",item.className = "+item.className);

...................

}

28.滑动设置亮度到最小时黑屏

路径:framwork\base\core\res\res\values\config.xml

方法:<integer name="config_screenBrightnessDim">20</integer>

 值改大改成70。

29.usb存储默认连接

\frameworks\base\packages\SystemUI\src\com\android\systemui\usb\StorageNotification.java

方法:在public class StorageNotification extends StorageEventListener

在String stFlash = Environment.getFlashStorageState();后面添加

if(st != null){

while(true){

try {

Thread.sleep(100);

} catch (InterruptedException e) {

}

st = Environment.getExternalStorageState();

if(st.equals("mounted"))

break;

}

}

在updateUsbMassStorageNotification(connected);后面添加

if(connected)

mStorageManager.enableUsbMassStorage();

30、去掉设置->平板电脑->状态->蓝牙信息

路径:package\apps\Settings\res\xml\device_info_status.xml

方法:注释<!--

<Preference android:key="bt_address"

Style="?android:attr/preferenceInformationStyle"

android:title="@string/status_bt_address"

android:summary="@string/device_info_not_available"

android:persistent="false" />

  -->

package\apps\Settings\src\com\android\settings\deviceinfo\Status.java 453

Preference btAddressPref = findPreference(KEY_BT_ADDRESS);

if(btAddressPref != null)

{

if (bluetooth == null) {

// device not BT capable

getPreferenceScreen().removePreference(btAddressPref);

} else {

String address = bluetooth.isEnabled() ? bluetooth.getAddress() : null;

btAddressPref.setSummary(!TextUtils.isEmpty(address) ? address

: getString(R.string.status_unavailable));

}

}

31.DDR ODT打开

1. 将SODT0上的R126_NC换为0R电阻

2. 在systemconfig.fex1和systemconfig.fex中修改如下:

dram_emr1 = 0x4

32.安装apk未知来源默认选上

路径:\frameworks\base\packages\SettingsProvider\res\values\defaults.xml

方法:<bool name="def_install_non_market_apps">false</bool> 中的false改成true

33.修改默认重力感应

路径:frameworks/base/packages/SettingsProvider/resalues/defaults.xml路径下面

方法:<add-resource type="string" name="def_accelerometer_coordinate"/>

<string name="def_accelerometer_coordinate">special</string>

将special修改为default

34.在没有插入外部sd卡情况系统mount是提示sd卡插入

路径:systemui/src/com/android/systemui/usb/StorageNotification.java文件

方法:private void onStorageStateChangedAsync(String path, String oldState, String

newState) 函数中:

if(path.contains("usb"))

{

setMediaStorageNotification(R.string.usb_mounted_title,

R.string.usb_mounted_message,

com.android.internal.R.drawable.stat_notify_sdcard_prepare, true, true, null);

}

else if(path.contains("sd"))

{

setMediaStorageNotification(R.string.sd_mounted_title,

R.string.sd_mounted_message,

com.android.internal.R.drawable.stat_notify_sdcard_prepare, true, true, null);

}

break;

从判断上只要mount路径包含sd字符就提示sd卡插入字符,改为以下就ok:

if(path.contains("usb"))

{

setMediaStorageNotification(R.string.usb_mounted_title,

R.string.usb_mounted_message,

com.android.internal.R.drawable.stat_notify_sdcard_prepare, true, true, null);

}

else if(path.contains("extsd"))

{

setMediaStorageNotification(R.string.sd_mounted_title,

R.string.sd_mounted_message,

com.android.internal.R.drawable.stat_notify_sdcard_prepare, true, true, null);

}

break;

35.去掉相机预览

路径:\packages\apps\Camera\res\layout-sw600dp\mode_picker.xml

方法: <com.android.camera.ui.RotateImageView android:id="@+id/mode_panorama"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:scaleType="center"

android:background="@drawable/bg_pressed"

android:src="@drawable/ic_switch_pan_holo_light"/>

改为

<com.android.camera.ui.RotateImageView android:id="@+id/mode_panorama"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:scaleType="center"

android:background="@drawable/bg_pressed"

android:src="@drawable/ic_switch_pan_holo_light"

android:visibility="gone" />

路径:android4.0\packages\apps\Camera\src\com\android\camera\MenuHelper.java +(62)行

方法:注释掉下面代码

//case ModePicker.MODE_PANORAMA:

// labelId = R.string.switch_to_panorama_label;

// iconId = R.drawable.btn_ic_panorama;

// break;

36.google定位:

在2.3系统2.0.4版本之后及4.0系统默认已支持该功能,如不支持, 请check以下内容:

1).默认预装GoogleServicesFramework.apk、NetworkLocation.apk两个google官方apk;

2).整合以下到\frameworks\base\core\res\res\values\config.xml文件中:

<!-- Component name of the service providing network location support. -->

<string name="config_networkLocationProvider">com.google.android.location.NetworkLocationProvider</string>

<!-- Component name of the service providing geocoder API support. -->

<string name="config_geocodeProvider">com.google.android.location.GeocodeProvider</string>

3).将设置中wifi定位选项打开就可以在google maps等实现粗略的定位了;

37.状态栏隐藏

   1).在Android4.0.1原有的代码中状态栏是永不隐藏的。在Android4.0.1的0.2版本中为了兼容原2.3.4中的全屏应用程序加入了状态栏隐藏。

因此在2.3.4中支持的全屏应用在4.0.1中也会全屏显示。

2).为了兼容更多的2.3.4应用程序全屏显示,在目前公版代码中默认采用状态栏隐藏处理。

3).对于没有返回键和没有home键的方案,需要方案中配置一下。配置的方法是,

在framework/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java中将FULLSCREEN_HIDESTATUSBAR置为false即可。

38.浏览器播放不了视频

  1)、修改device/softwinner对应产品目录下的Boardconfig.mk,在文件后面添加一行代码 USE_OPENGL_RENDERER := true;

  2)、修改device/softwinner对应产品目录下的crane_xxxx.mk文件中增加PRODUCT_PROPERTY_OVERRIDES 特性 hwui.render_dirty_regions=false

例如:PRODUCT_PROPERTY_OVERRIDES += \

   persist.sys.usb.config=mass_storage,adb \

   ro.product.firmware=0.3 \

   hwui.render_dirty_regions=false

packages\apps\Browser\res\xml debug_preferences.xml

<ListPreference

android:key="user_agent"

android:title="@string/pref_development_uastring"

android:entries="@array/pref_development_ua_choices"

android:entryValues="@array/pref_development_ua_values"

android:defaultValue="3"/>//改成1 desktop模式

中修改defaultValue的值,对应如下:

Android :0

Desktop :1

iPhone:2

iPad :3

Froyo-N1:4

Honeycomb-Xoom:5

BrowserSetting.java文件中需要同步修改,否则会出现显示值和实际值第一次不一致的情况:

public int getUserAgent() {

if (!isDebugEnabled()) {//704

return 0; } /* modified by Gary. start {

{----------------------------------- */ /* 2011-11-29 */ /* modify the default user agent */

return Integer.parseInt(mPrefs.getString(PREF_USER_AGENT, "3"));

/* add by Gary. end -----------------------------------}} */ }

修改完后重新编译即可

39.调lcd亮度、饱和度、对比度问题

路径:lichee\linux-3.0\drivers\video\sun4i\disp\de_bsp\de\disp_display.c文件修改

for(screen_id = 0; screen_id < 2; screen_id++)

{

gdisp.screen[screen_id].max_layers = 4;

for(i = 0;i < gdisp.screen[screen_id].max_layers;i++)

{

gdisp.screen[screen_id].layer_manage[i].para.prio = IDLE_PRIO;

}

gdisp.screen[screen_id].image_output_type = IMAGE_OUTPUT_LCDC;

gdisp.screen[screen_id].bright = 50; //屏的亮度

gdisp.screen[screen_id].contrast = 50; //屏的对比度

gdisp.screen[screen_id].saturation = 50; //屏的饱和度

gdisp.screen[screen_id].hue = 50; //屏的色彩

gdisp.scaler[screen_id].bright = 50;

gdisp.scaler[screen_id].contrast = 50;

gdisp.scaler[screen_id].saturation = 50;

gdisp.scaler[screen_id].hue = 50;

gdisp.screen[screen_id].lcd_bright = 192;

}

这个里面就是设置 gdisp.screen[screen_id].bright = 50;

gdisp.screen[screen_id].contrast = 50;

gdisp.screen[screen_id].saturation = 50;

gdisp.screen[screen_id].hue = 50;

就是设置对比度亮度,饱和度的

40.解锁左滑动

路径:android4.0\frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java

方法:public void onTrigger(View v, int target)函数

改为

Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER);

改回来

Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);

修改方法如下(如有其它问题,希望可以触类旁通)

在frameworks目录下搜索“无服务”(因为字符串资源都放在xml文件中)

find . -name "*.xml" -depth -type f -print | xargs grep "无服务"

结果找到

./base/core/res/res/values-zh-rCN/strings.xml: <string name="lockscreen_carrier_default" msgid="8963839242565653192">"无服务。"</string>

得到lockscreen_carrier_default这个资源名,搜索代码

find . -name "*.java" -depth -type f -print | xargs grep "lockscreen_carrier_default"

结果找到

./base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CarrierLabel.java: setText(com.android.internal.R.string.lockscreen_carrier_default);

./base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java: com.android.internal.R.string.lockscreen_carrier_default);

./base/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java: R.string.lockscreen_carrier_default);

看文件名(含路径),容易知道要在/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CarrierLabel.java中改

注释掉setText调用,或者考虑把statusbar/phone/里的代码去掉(这个估计有点麻烦)

41.lichee/linux-3.0/drivers/media/video/sun5i_csi readMe.txt 摄像头i2c地址查询

42.屏保添加am_pm

路径:android4.0\\frameworks\base\core\java\com\android\internal\widget\ DigitalClock.java

方法:110行\\mAmPmTextView = (TextView) parent.findViewById(R.id.am_pm);去掉注释

路径:android4.0\frameworks\base\core\res\res\layout-sw600dp

方法:keyguard_screen_status_land.xml 和keyguard_screen_status_port.xml

 中添加TextView(am_pm)部分

<com.android.internal.widget.DigitalClock android:id="@+id/time"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="8dip"

android:layout_marginBottom="8dip"

>

<TextView android:id="@+id/am_pm"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:singleLine="true"

android:ellipsize="none"

android:textAppearance="?android:attr/textAppearanceMedium"

android:textColor="@color/lockscreen_clock_foreground"

android:layout_toRightOf="@id/timeDisplayBackground"

android:layout_alignBottom="@id/timeDisplayBackground"

/>

   </com.android.internal.widget.DigitalClock>

43.亮度最大时黑屏

BrightnessPreference.java(android4.0\packages\apps\settings\src\com\android\settings) +100(行)

mSeekBar.setMax(MAXIMUM_BACKLIGHT?-?mScreenBrightnessDim-40);

SettingsAppWidgetProvider.java (android4.0\\packages\apps\Settings\src\com\android\settings\widget)+849(行)

else if(brightness<MAXIMUM_BACKLIGHT-40){

brightness?=?MAXIMUM_BACKLIGHT-40;

}

44.浏览器请求网址都以pc方式呈现

路径:android4.0\packages\apps\Browser\src\com\android\browser\ BrowserSettings.java

方法:269;271;538;538行都改成settings.setUserAgentString(DESKTOP_USERAGENT);

45.设置->显示->休眠->添加从不待机项

路径:android4.0\packages\apps\Settings\res\ values\ arrays.xml

方法:添加never sleep部分的字

<string-array name="screen_timeout_entries">

<item>15 seconds</item>

<item>30 seconds</item>

<item>1 minute</item>

<item>2 minutes</item>

<item>5 minutes</item>

<item>10 minutes</item>

<item>30 minutes</item>

<item>never sleep</item>

</string-array>

<!-- Do not translate. -->

<string-array name="screen_timeout_values" translatable="false">

<!-- Do not translate. -->

<item>15000</item>

<!-- Do not translate. -->

<item>30000</item>

<!-- Do not translate. -->

<item>60000</item>

<!-- Do not translate. -->

<item>120000</item>

<!-- Do not translate. -->

<item>300000</item>

<!-- Do not translate. -->

<item>600000</item>

<!-- Do not translate. -->

<item>1800000</item>

<item name="nerver_sleep_values">-1</item>

  </string-array>

46.修改系统默认音量

路径:android4.0\frameworks\base\media\java\android\media\AudioManager.java +176(行)

方法:修改其数值即可

/** @hide Default volume index values for audio streams */

public static final int[] DEFAULT_STREAM_VOLUME = new int[] {

4, // STREAM_VOICE_CALL

7, // STREAM_SYSTEM

5, // STREAM_RING

11, // STREAM_MUSIC

6, // STREAM_ALARM

5, // STREAM_NOTIFICATION

7, // STREAM_BLUETOOTH_SCO

7, // STREAM_SYSTEM_ENFORCED

11, // STREAM_DTMF

11 // STREAM_TTS

};

47.键盘错位

路径:android4.0\packages\inputmethods\LatinIME\java\src\com\android\inputmethod\latin\LatinIME.java +(1073)行

方法:减去100即可(原理暂时不清楚)

final int touchHeight = inputView.getHeight() + extraHeight

// Extend touchable region below the keyboard.

+ EXTENDED_TOUCHABLE_REGION_HEIGHT-100;

48.声音设置中替换电话图标

路径:android4.0\packages\apps\Settings\src\com\android\settings\RingerVolumePreference.java +86~93(行)

方法:com.android.internal.R.drawable.ic_audio_ring_notif_mute 替换成 com.android.internal.R.drawable.ic_audio_vol_mute

com.android.internal.R.drawable.ic_audio_ring_notif 替换成 com.android.internal.R.drawable.ic_audio_vol

49.去掉设置->更多->移动网路

路径:android4.0\packages\apps\Settings\res\xml\wireless_settings.xml +(74)行

方法:注释掉下面项

<!--<PreferenceScreen

android:key="mobile_network_settings"

android:title="@string/network_settings_title"

android:dependency="toggle_airplane">

<intent

android:action="android.intent.action.MAIN"

android:targetPackage="com.android.phone"

android:targetClass="com.android.phone.Settings" />

</PreferenceScreen>-->

50. 去掉自动同步时区,并且能选择时区。

路径:android4.0\packages\apps\Settings\res\xml\date_time_prefs.xml +(24)行

方法:注释掉下面项

<!--<CheckBoxPreference android:key="auto_zone"

android:title="@string/zone_auto"

android:summaryOn="@string/zone_auto_summaryOn"

android:summaryOff="@string/zone_auto_summaryOff"

/>-->

路径:android4.0\packages\apps\Settings\src\com\android\settings\DateTimeSettings.java +(94~101~140)行

方法:注释掉下面项;

//mAutoTimeZonePref = (CheckBoxPreference) findPreference(KEY_AUTO_TIME_ZONE);

//mAutoTimeZonePref.setChecked(autoTimeZoneEnabled);

方法:mTimeZone.setEnabled(!autoTimeZoneEnabled); 改成 mTimeZone.setEnabled(true);

51.去掉音乐中低音增强/3D音效模式

路径:android4.0\packages\apps\MusicFX\res\layout\music_main.xml +(57)行

路径:android4.0\packages\apps\MusicFX\res\layout-land\music_main.xml +(67)行

方法:<LinearLayout android:id="@+id/bBLayout" />和<LinearLayout android:id="@+id/vILayout"/>

添加 android:visibility="gone" 属性

52.Google搜索本地音乐->点击播放音乐出错

路径:android4.0\packages\apps\Music\src\com\android\music\QueryBrowserActivity.java +(89)行

方法:这个问题原因是:播放列表界面响应播放消息以后,播放列表界面会开启playback界面来播放音乐,把自己杀掉,在杀掉自己的时候,列表view没有初始化,导致抛出空指针异常

修改方法如下:

onServiceConnecte函数,在函数开始部分加入setContentView(R.layout.query_activity);进行初始化即可.

53.去掉设置3G图标

路径:android4.0\frameworks\base\packages\SystemUI\res\layout-sw600dp\status_bar_notification_panel_title.xml +(61)行

方法: <FrameLayout android:id="@+id/mobile_icon" /> 添加 android:visibility="gone" 属性

53.计算器菜单面板高级,基本设置出错

路径:android4.0\packages\apps\Calculator\res\menu\menu.xml +(27)行

方法:注释掉下面项

<!--<item android:id="@+id/advanced"

android:showAsAction="ifRoom|withText"

android:icon="@drawable/advanced"

android:title="@string/advanced"/>

<item android:id="@+id/basic"

android:showAsAction="ifRoom|withText"

android:icon="@drawable/simple"

android:title="@string/basic"/>-->

路径:\android4.0\packages\apps\Calculator\src\com\android\calculator2\Calculator.java +(174~148)行

方法:注释掉下面项

//menu.findItem(R.id.basic).setVisible(!getBasicVisibility());

//menu.findItem(R.id.advanced).setVisible(!getAdvancedVisibility());

54.隐藏系统状态栏

路径:android4.0\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\StatusBar.java +(65)行

方法:添加sb.setVisibility(View.INVISIBLE);

55.字幕重叠(播放外带字幕电影,播放电影且已有字幕出现在屏幕上时触摸屏幕调出子菜单,字幕和菜单重叠,下一条字幕出现时则恢复正常。)

路径:修改 android4.0\packge\app\Gallery2\src\com\android\gallery3d\app\MediaController.java +()行

方法:在initControllerView 函数最后加 mUpSubPos += 10; 即可

56.竖屏时候音量键不隐藏;

路径:android4.0\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\tablet\TabletStatusBarView.java +(91)行

方法:注释掉//volume_up.setVisibility(View.GONE);

//volume_down.setVisibility(View.GONE);

55.设置->关于平板电脑->系统更新->实现自动升级sdcard和extsd中根目录update.zip文件

路径:android4.0\packages\apps\Settings\res\xml\device_info_settings.xml +(21)行

方法:修改成下面一样

<PreferenceScreen android:key="system_update_settings"

android:title="@string/system_update_settings_list_item_title"

android:summary="@string/system_update_settings_list_item_summary">

<intent android:action="android.intent.action.MAIN"

android:targetPackage="@string/update_package_name"

android:targetClass="@string/update_class_name" />

</PreferenceScreen>

路径:android4.0\packages\apps\Settings\res\values\strings.xml

方法:添加以下两字字符串属性

<string name="update_package_name">com.softwinner.update</string>

<string name="update_class_name">com.softwinner.update.UpdateActivity</string>

路径:android4.0\device\softwinner\common\packages\Update

方法:修改的地方见update.txt文档

56.去掉设置->更多->移动网络

路径:android4.0\packages\apps\Settings\res\xml\wireless_settings.xml +(74)行

方法:注释掉下面代码

<!--<PreferenceScreen

android:key="mobile_network_settings"

android:title="@string/network_settings_title"

android:dependency="toggle_airplane">

<intent

android:action="android.intent.action.MAIN"

android:targetPackage="com.android.phone"

android:targetClass="com.android.phone.Settings" />

</PreferenceScreen>-->

57.去掉设置->设置快捷方式(Widgets)里面的蓝牙和网络共享项

路径:android4.0\packages\apps\Settings\AndroidManifest.xml +(242)行 +(280)行

方法:注释掉<category android:name="com.android.settings.SHORTCUT" />

如果想要去掉其它的项,只需要注释掉其Activity里面的SHORTCUT属性即可

58.电阻屏佳也MD4301校准

路径:android4.0/packages/TSCalibration2/res/values/dimens.xml

方法:把减符号的代码替换成加号的代码

- <integer name="p_limit">200</integer>

- <integer name="screen_max_width">800</integer>

- <integer name="sreen_max_height">480</integer>

+ <integer name="p_limit">120</integer>

+ <integer name="screen_max_width">480</integer> //屏幕宽

+ <integer name="sreen_max_height">272</integer> //屏幕高

路径:android4.0\device\softwinner\common\packages\TSCalibration2\src\org\zeroxlab\util\tscal TSCalibrationView.java +(38)行

方法:把减符号的代码替换成加号的代码

- final private static int P_DELTA = 50;

+ final private static int P_DELTA = 60;

59.去掉设置->显示->智能背光

路径:\android4.0\device\softwinner\nuclear-pub\overlay\packages\apps\Settings\res\values\bools.xml

方法:<bool name="has_smart_brightness">true</bool>改成<bool name="has_smart_brightness">false</bool>

60.去掉设置->显示->HDMI输出模式

路径:android4.0\packages\apps\Settings\res\values\bools.xml

方法:<bool name="has_hdmi_output_mode">true</bool>改成<bool name="has_hdmi_output_mode">false</bool>

61.play store 打不开

apk 要放到app下.

62 Android 默认声音大小修改

修改文件:frameworks/base/media/java/android/media/AudioManager.java

/** @hide Default volume index values for audio streams */

public static final int[] DEFAULT_STREAM_VOLUME = new int[] {

4, // STREAM_VOICE_CALL

7, // STREAM_SYSTEM

4, // STREAM_RING

8, // STREAM_MUSIC

4, // STREAM_ALARM

4, // STREAM_NOTIFICATION

7, // STREAM_BLUETOOTH_SCO

7, // STREAM_SYSTEM_ENFORCED

11, // STREAM_DTMF

11, // STREAM_TTS

4, // STREAM_FM

4 // STREAM_MATV

};

此数组有定义音量默认大小。可根据实际修改。

Android常用固件修改相关推荐

  1. Android 系统(123)---MTK android 常用修改点

    MTK android 常用修改点 1. *#06#等关键码判断文件 SpecialCharSequenceMgr.java 2.音效 ControlPanelEffect.java 3.版本号修改 ...

  2. android diy固件,官方固件不给力?咱自己DIY!手把手教你修改固件!

    本帖最后由 蚊香 于 2013-10-11 17:14 编辑 官方固件不给力?电视直播可使用的源太少,一到晚上就变"小狐狸",平台太分散,找资源很麻烦! 在座的各位肯定已经下载了很 ...

  3. android固件轻松,安卓轻松改工具-安卓固件修改软件-安卓轻松改工具下载 v1.0.2官方版-完美下载...

    安卓轻松改工具是一款非常实用的apk文件修改器,能够反编译及回编译apk,为用户提供了专业的文件分解.合并.格式转换功能,通常用于生成程序的源代码和图片.XML配置.语言资源等文件,帮助开发人员更好的 ...

  4. Android常用的工具类

    2019独角兽企业重金招聘Python工程师标准>>> 最新最准确内容建议直接访问原文:Android常用的工具类 主要介绍总结的Android开发中常用的工具类,大部分同样适用于J ...

  5. Android常用权限permission列表摘录

    Android常用权限permission列表摘录 一个Android应用程序需要权限才能调用某些android系统的功能:一个android应用也可能被其他应用调用,因此也需要声明调用自身所需要的权 ...

  6. Android常用开源项目

    Android开源项目第一篇--个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Progre ...

  7. android常用代码合集,Android常用代码

    1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable. ...

  8. Android常用控件有哪些?如何使用?

    Android常用控件介绍及使用 控件 TextView 显示文字,相当于Panel ImageView 显示图片 EditText 输入框,可编辑,可设置软键盘方式 Button 按钮,可附带图片 ...

  9. Android常用面试题大全

    1.TCP和UDP之间的区别?什么是URL ? TCP被称为用户数据报协议;UDP被称为信息传输控制协议;URL被称为统一资源定位符,通过统一资源定位符可以唯一定位到互联网上的某个资源(图片.视频.音 ...

  10. Android 常用API自查表(二)

    Android 常用API自查表 IQOO Neo6 日志授权 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 移除和拷贝assets中的文件 清空任务栈 Create ...

最新文章

  1. c 读取mysql中表中数据_c#读取MySQL数据表中的内容
  2. 【代码规范】常见排版规范
  3. WordPress 博客平台
  4. android url拼接参数,【Tech-Android-Other】高效拼接一个GET请求URL
  5. oracle 01157,Oracle数据库启动时出现ORA-01157和ORA-01110问题
  6. windows error错误代码
  7. 小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_42、SpringBoot常用定时任务配置实战...
  8. TensorFlow进阶:车牌号识别项目
  9. 应届毕业生怎么找java工作,应届毕业生怎么能找到高薪工作?
  10. Mac火爆游戏---英雄联盟LOL
  11. java thread yield()_Java Thread yield()方法
  12. 易语言可以写鸿蒙系统,华为王成录:鸿蒙 OS 系统是不同设备的统一语言
  13. vue样式操作与事件绑定
  14. xml文件解析(使用解析器)
  15. 虞美人盛开的山坡片尾曲_さよならの夏_离别的夏天_歌词_带假名及翻译
  16. photoshop是中文版怎么改成英文版!!
  17. 分享一些我的远程办公经验
  18. Python量化交易平台开发教程系列3-vn.py项目中API封装的编译
  19. java如何与RS232进行通信
  20. 军工企业信息化建设周涛_军工企业非密信息化

热门文章

  1. linux mysql backdoor_Linux SSH Backdoor分析排查
  2. 根据设计稿,用JS计算rem的值
  3. Crypto_[QCTF2018]Xman-RSA
  4. Linux下搭建SVN
  5. Python学习之学校教学(辨别身份证的真伪,并判断性别)
  6. Mybatis 从入门到入魔
  7. booster 框架学习(一)
  8. 泛微OA流程插入JS代码块
  9. 显示器间歇性黑屏问题排查
  10. 计算机图形学大会和学术刊物编辑