android(MTK)开发中一些问题小结

1.背光亮度默认
frameworks\base\packages\SettingsProvider\res\values\defaults.xml

2.解决同批手机软件蓝牙地址一致的问题
在Radiomod.c (source\external\bluetooth\driver)  中    
将int GetRandomValue(unsigned char string[6])的随机数生成打开。

3.低电量提示
frameworks/base/packages/SettingsProvider/resalues/config.xml

4.修改cpu 最大最小频率
   cpufreq.c
路径:kernel\drivers\cpufreq
修改方法:
去掉
//show_one(cpuinfo_min_freq, cpuinfo.min_freq);
//show_one(cpuinfo_max_freq, cpuinfo.max_freq);
加入
show_cpuinfo_max_freq(struct cpufreq_policy *policy, char *buf)
{
 unsigned int  cpumaxfeq = 1400000;
 return sprintf(buf, "%u\n", cpumaxfeq); 
}

 

show_cpuinfo_min_freq(struct cpufreq_policy *policy, char *buf)
{
 unsigned int  cpuminfeq = 200000;
 return sprintf(buf, "%u\n", cpuminfeq); 
}

5.默认USER版本修改USB开启
方法一:
/build/core/main.mk
ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1
方法二:
修改DefaultActivity.java
在onCreate里面加入下面这句话即可在user模式默认开启usb调试
Settings.Secure.putInt(getContentResolver(),Settings.Secure.ADB_ENABLED, 1);

6.build/target/product/core.mk
                           /common.mk
加入APK

7.
 语言代码:ISO 639
 国家代码:ISO 3166-1
Android Language Support FAQ.pptx

Android Language Introduction.docx

做多国语言时很需要

 

8.简单的编译./mk -o=TARGET_BUILD_VARIANT=user project_xxx new


9.android:screenOrientation=”portrait”则无论手机如何变动,拥有这个属性的activity都将是竖屏显示。android:screenOrientation=”landscape”,为横屏显示。

10.Android隐藏状态栏和标题栏,相当于全屏效果
 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

11.
android:allowClearUserData
是否给以用户删除用户数据的权限,如果为true应用管理者就拥有清除数据的权限;false没有。默认为true。
12.关掉屏幕下方的导航栏temporary enables NAV bar (soft keys)
去掉qemu.hw.mainkeys=0的定义

13.

project_xxx/build/tools/buildinfo.sh
  修改信息版本

14.修改CPU信息 双核 cpu_dev_init()

显示CPU 6517 或6577
c_show()

 

24.
FrameLayout.LayoutParams
Intent.FLAG_ACTIVITY_CLEAR_TOP
25.
VISIBLE:0  意思是可见的
INVISIBILITY:4 意思是不可见的,但还占着原来的空间
GONE:8  意思是不可见的,不占用原来的布局空间
26.
intent.setFlags方法中的参数值含义 .
1.FLAG_ACTIVITY_CLEAR_TOP:例如现在的栈情况为:A B C D 。D此时通过intent跳转到B,如果这个intent添加FLAG_ACTIVITY_CLEAR_TOP标记,则栈情况变为:A B。如果没有添加这个标记,则栈情况将会变成:A B C D B。也就是说,如果添加了FLAG_ACTIVITY_CLEAR_TOP标记,并且目标Activity在栈中已经存在,则将会把位于该目标activity之上的activity从栈中弹出销毁。这跟上面把B的Launch mode设置成singleTask类似。简而言之,跳转到的activity若已在栈中存在,则将其上的activity都销掉。
2.FLAG_ACTIVITY_NEW_TASK:例如现在栈1的情况是:A B C。C通过intent跳转到D,并且这个intent添加了FLAG_ACTIVITY_NEW_TASK标记,如果D这个Activity在Manifest.xml中的声明中添加了Task affinity,系统首先会查找有没有和D的Task affinity相同的task栈存在,如果有存在,将D压入那个栈,如果不存在则会新建一个D的affinity的栈将其压入。如果D的Task affinity默认没有设置,则会把其压入栈1,变成:A B C D,这样就和不加FLAG_ACTIVITY_NEW_TASK标记效果是一样的了。注意如果试图从非activity的非正常途径启动一个activity(例见下文“intent.setFlags()方法中参数的用例”),比如从一个service中启动一个activity,则intent比如要添加FLAG_ACTIVITY_NEW_TASK标记(编者按:activity要存在于activity的栈中,而非activity的途径启动activity时必然不存在一个activity的栈,所以要新起一个栈装入启动的activity)。简而言之,跳转到的activity根据情况,可能压在一个新建的栈中。

3.FLAG_ACTIVITY_NO_HISTORY:例如现在栈情况为:A B C。C通过intent跳转到D,这个intent添加FLAG_ACTIVITY_NO_HISTORY标志,则此时界面显示D的内容,但是它并不会压入栈中。如果按返回键,返回到C,栈的情况还是:A B C。如果此时D中又跳转到E,栈的情况变为:A B C E,此时按返回键会回到C,因为D根本就没有被压入栈中。简而言之,跳转到的activity不压在栈中。

4.FLAG_ACTIVITY_SINGLE_TOP:和Activity的Launch mode的singleTop类似。如果某个intent添加了这个标志,并且这个intent的目标activity就是栈顶的activity,那么将不会新建一个实例压入栈中。简而言之,目标activity已在栈顶则跳转过去,不在栈顶则在栈顶新建activity。

27.android:screenOrientation=”portrait”则无论手机如何变动,拥有这个属性的activity都将是竖屏显示。android:screenOrientation=”landscape”,为横屏显示。
28.Android隐藏状态栏和标题栏,相当于全屏效果
 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
29.
1、android:allowClearUserData
是否给以用户删除用户数据的权限,如果为true应用管理者就拥有清除数据的权限;false没有。默认为true。
30.temporary enables NAV bar (soft keys)
去掉qemu.hw.mainkeys=0的定义
30.alps/packages/inputmethods/LatinIME/java/res/xml/method.xml
中打开相应的输入法subtype就可以支持
换开关机logo
31.mediatek/custom/common/lk/logo
                        uboot/logo
32./media/pecke/alps/mediatek/frameworks-ext/base/core/jni/android_bluetooth_common.h
  #define BTMTK_ANDROID_DEFAULT_LOCAL_NAME "ANDROID BT"
/media/pecke/S017_800_480/alps/mediatek/config/common/custom.conf
蓝牙名称修改
33.72默认墙纸修改:
frameworks/base/core/res/res/
alps/mediatek/custom/out/sanstar72_wet_lca/resource_overlay/LCA_rom/packages/apps/Launcher2/res/drawable-nodpi
/alps/mediatek/custom/common/resource_overlay/LCA_rom/packages/apps/Launcher2/res/drawable-nodpi
34.logo_1编译出来后
/media/pecke/S017_800_480/alps/mediatek/external/boot_logo_updater/custom/boot_logo
35.距离感应:/media/pecke/S017_800_480/alps/frameworks/base/services/java/com/android/server/power
36./media/pecke/S017_800_480/alps/cts/tests/tests/os/src/android/os/cts/
/media/pecke/S017_800_480/alps/frameworks/base/core/java/android/os/PowerManager.java
37.sim Toolkit
/media/pecke/S017_800_480/alps/mediatek/packages/apps/StkSelection
自定义JAVA宏
38.alps/mediatek/build/tools/javaoption.pm
39.psensor感应的文件
alps/frameworks/base/services/java/com/android/server/power/DisplayPowerController.java
alps/frameworks/base/services/java/com/android/server/power/PowerManagerService.java
40.修改键值

/alps/mediatek/custom/sanstar72_wet_lca/kernel/touchpanel/GT9XX/tpd_custom_gt9xx.h
GTP_KEY_TAB
41./mediatek/binary/3rd-party/free/Baidu_Map/baidu_map.apk

42.检测T卡
     private void update() {  
2.    File path = Environment.getExternalStorageDirectory();  
3.    StatFs stat = new StatFs(path.getPath());  
4.    long blockSize = stat.getBlockSize();  
5.    long totalBlocks = stat.getBlockCount();  
6.    long availableBlocks = stat.getAvailableBlocks();  
7.    mTotalSize.setText(formatSize(totalBlocks * blockSize));  
8.    mUsedSize.setText(formatSize((totalBlocks - availableBlocks) * blockSize));  
9.    mAvailableSize.setText(formatSize(availableBlocks * blockSize));  
10. 

43.开机铃声bootaudio 关机铃声shutaudio.mp3

44./alps_user_854_480/frameworks/opt/telephony/src/java/com/android/internal/telephony/uicc/UiccController.java
修改SIM卡通知

45.设置权限文件 system\core\rootdir\ueventd.rc

46.修改MTK蓝牙状态
frameworks/base/services/java/com/android/server/SystemServer.java
   int bluetoothState = Settings.Global.getInt(mContentResolver,
                            Settings.Global.BLUETOOTH_ON, 0);/*BLUETOOTH_STATE*/
                    Slog.i(TAG, "bluetoothState = " + bluetoothState);
                    if (bluetoothState != 0) {
                        bluetooth.enable();
                    }
47.第一次开机后检测camera失败, camera icon会一直不会显示,即使重开机后 camera检...
http://www.16rd.com/forum.php?mod=viewthread&tid=13201&fromuid=4

48.frameworks\base\core\java\android\widget\TextView.java  setText()在 3192行左右:修改字串显示

49.apt-get install nautilus-open-terminal#这就终端就在右键菜单了可以了!!

50.修改 layout-land 和 layout-port 下的 application_boxed.xml 文件
<com.fede.launcher.AppView android:textSize="13.0dip"
  
13.0dip 就是文字大小,
其中桌面上图标文字的大小在 values/styles.xml 中修改,字段是    <style name="WorkspaceIcon">
        <item name="android:textSize">16.0dip</item>   中的16

50.r不识别 SIM卡问题 删除out/target/product/$project/obj/include/dfo

51. apt-get install nautilus-open-terminal

52.vim /etc/fstab 挂硬盘

53.PSense
DisplayPowerController.java
updatePowerState

54.

Settings.java (alps\packages\apps\settings\src\com\android\settings)

final boolean showDev =  true; //修改为一直显示开发者选项.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值