我的笔记

1、DEBUG版本删除某一APP模块:

adb shell
cd system/app
ls -l
rm XXXX.apk
exit

2、添加新模块时注意:

     加入新模块 需要在app文件夹目录加入一个.mk文件,以便用./mk来编译 即Android.mk
    然后在工程目录bulid/target/product/common.mk文件中追加加入新模块名称,例如添加Compass模块

    ...\

    ...\
   Compass

    Compass模块中mk文件内容:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := Compass(APP文件夹名)

LOCAL_STATIC_JAVA_LIBRARIES := \   (需要的包)
    android-common \
    android-support-v4 

include $(BUILD_PACKAGE)

3、开关机动画

      设置默认为第几套开关机动画:

      涉及文件:

     frameworks/base/cmds/bootanimation/BootAnimation.cpp   修改logoNum 和 defaultLogoNum 初值
     mediatek/external/ipod/bootlogo.cpp                    修改logoNum 和 defaultLogoNum 初值
     mediatek/external/boot_logo_updater/boot_logo_updater.cpp 修改logoNum 和 defaultLogoNum 初值
     编辑 base ipod boot_logo_updater三个模块


     添加新的开关机动画:

     举例添加新开关机UI,切换指令2663,单卡模式,客户4下

     涉及文件:

     packages/apps/SwitchAnimation/src/com/wyeda/switchanimation/SwitchBootAnimation.java

    1、 添加UI控制变量:

  private static final int SINGLE9500_2663 = 12;//这里的数值取决于是第几套UI,我的工程里目前已存在11套UI,故这里设值为第12套UI	
    2、在onReceive方法中合适位置追加else if语句

    

@Override
    public void onReceive(Context context, Intent intent) {
     mContext = context;
    String host = intent.getData() != null ? intent.getData().getHost() : null;
    //....省略部分代码
    if(host != null)
    {
       ......//省略部分代码
      else if(host.equals("6264"))
          {
             writeLogoFlag(SINGLE9500_6264);
          }
       else if(host.equals("2663"))         //

          {                                 // 这几行是追加的代码,用于响应切换指令
            writeLogoFlag(SINGLE9500_2663); //
          }                                 //

       ......//以下省略

    }
 }


  3、在checkLogoSwitch方法中设置该套UI属于哪一个客户

           本套UI属于客户4,就才case 4中添加logo_num==12的或语句

private boolean checkLogoSwitch(int logo_num)
    {
             ......//省略部分代码
             switch((int)host_flag){
 

              ......//省略部分代码


                        case 4:if(logo_num == 0 || logo_num == 1 || logo_num == 2 || logo_num == 3 || logo_num == 4 || logo_num == 10 || logo_num == 11 || logo_num == 12){result = true;}break;
              

              ......//省略部分代码


              } ......//省略部分代码}


 

 

  packages/apps/SwitchAnimation/AndroidManifext.xml

     这个文件中主要注册一个新的指令2663,它属于UI切换指令。

    

<!--切换动画-->
   
 <receiver android:name=".SwitchBootAnimation">
            <intent-filter>
                <action android:name="android.provider.Telephony.SECRET_CODE" />
                 <!-- client id -->
                 <data android:scheme="android_secret_code" android:host="6629" />
                 <data android:scheme="android_secret_code" android:host="18020" />
                 <data android:scheme="android_secret_code" android:host="20766" />
         <data android:scheme="android_secret_code" android:host="36095" />
         <data android:scheme="android_secret_code" android:host="46349" />
         <data android:scheme="android_secret_code" android:host="52974" />
         <data android:scheme="android_secret_code" android:host="69842" />
         <data android:scheme="android_secret_code" android:host="73857" />
         <data android:scheme="android_secret_code" android:host="89075" />
         <data android:scheme="android_secret_code" android:host="91352" />
         <data android:scheme="android_secret_code" android:host="07543" />
         <data android:scheme="android_secret_code" android:host="11975" />
         <data android:scheme="android_secret_code" android:host="12934" />
                 <!-- logo ui -->
                 <data android:scheme="android_secret_code" android:host="0000" />
                 <data android:scheme="android_secret_code" android:host="9500" />
                 <data android:scheme="android_secret_code" android:host="9502" />
         <data android:scheme="android_secret_code" android:host="9501" />
                 <data android:scheme="android_secret_code" android:host="9503" />
         <data android:scheme="android_secret_code" android:host="2728" />
         <data android:scheme="android_secret_code" android:host="6577" />
         <data android:scheme="android_secret_code" android:host="6160" />
         <data android:scheme="android_secret_code" android:host="6767" />
         <data android:scheme="android_secret_code" android:host="9449" />
         <data android:scheme="android_secret_code" android:host="5688" />
         <data android:scheme="android_secret_code" android:host="5622" />
         <data android:scheme="android_secret_code" android:host="6264" />
         <data android:scheme="android_secret_code" android:host="2663" />  (追加了这一行)
         
                  <data android:scheme="android_secret_code" android:host="0220" />
                  <data android:scheme="android_secret_code" android:host="0230" />
                  <data android:scheme="android_secret_code" android:host="0240" />
                  <data android:scheme="android_secret_code" android:host="0250" />
        
            </intent-filter>
     </receiver>



     mediatek/external/boot_logo_updater/Android.mk

     追加boot_logo_12这个项,即15行至末行,与前面已存在的相比,只有LOCAL_MODULE有改变

########################################################
ifneq ($(strip $(MTK_PLATFORM)),)
include $(CLEAR_VARS)

LOCAL_MODULE := boot_logo_11

LOCAL_MODULE_CLASS := DATA
LOCAL_MODULE_PATH := $(TARGET_OUT)/media/images

LOCAL_GENERATE_CUSTOM_FOLDER := custom:lk/logo
LOCAL_SRC_FILES := custom/$(LOCAL_MODULE)

include $(BUILD_PREBUILT)
endif
########################################################
ifneq ($(strip $(MTK_PLATFORM)),)
include $(CLEAR_VARS)

LOCAL_MODULE := boot_logo_12

LOCAL_MODULE_CLASS := DATA
LOCAL_MODULE_PATH := $(TARGET_OUT)/media/images

LOCAL_GENERATE_CUSTOM_FOLDER := custom:lk/logo
LOCAL_SRC_FILES := custom/$(LOCAL_MODULE)

include $(BUILD_PREBUILT)
endif



     

     mediatek/custom/common/lk/logo/rules.mk

     追加下面这一行在合适位置,用于关联开机第二帧的图片
$(BMP_TO_RAW) $(BOOT_LOGO_IMAGE_12) $(BOOT_LOGO_DIR)/$(BOOT_LOGO)/$(BOOT_LOGO)_kernel_12.bmp


     mediatek/BootAnimation/logoCopy.mk

     这个文件中记录着每套开关机动画的开机动画包、关机动画包、声音文件路径

     mediatek/BootAnimation

     这个文件夹下保存这开关机动画包、声音文件

     mediatek/config/lcsh72_we_jb3/ProjectConfig.mk

     这个文件用于找到保存开机第二帧图片的文件夹名称,搜索logo = 这个字符串,找到的文件夹名称就是当前保存图片的文件夹

  /frameworks/base/cmds/bootanimation/BootAnimation.cpp

    在合适位置追加

   开机动画

else if(logoNum == 12){
                err = mZip.open("/system/media/bootanimation12.zip");        
            }


和 关机动画

else if(logoNum == 12){
                err = mZip.open("/system/media/shutanimation12.zip");    
            }


 /mediatek/external/boot_logo_updater/boot_logo_updater.cpp

    在合适位置追加

    变量:

const char LOGO_PATH_12[] = "/system/media/images/boot_logo_12";


    控制语句:

else if(logoNum == 12){
        logo_path = LOGO_PATH_12;
    }


 /mediatek/external/ipod/bootlogo.cpp

     合适位置追加

变量:

const char LOGO_PATH_12[] = "/system/media/images/boot_logo_12";


控制语句:

else if(logoNum == 12){
        logo_path = LOGO_PATH_12;
    }


     frameworks/base/core/java/android/os/ProjectManager.java

     添加变量

    

private static final int UI9500_2663 = 12;


 添加方法

 /**
         * 2663
         * @hide
         */
    public static boolean isP2663()
    {
        return (readLogoNum() == UI9500_2663);
    }


     以便修改蓝牙名称,版本号,基带版本号等

4、修改蓝牙、型号名称

       涉及文件:

     1、  frameworks/base/core/java/android/os/ProjectManager.java

      getBlueToothName()获取蓝牙名称

      getDeviceMode()型号

      getProductName()产品名称

      getBuildNumber()内部版本号

      getVersionNum()版本号

      getPlatformMode()基带版本号

      getBrand()品牌

     

    2、   mediatek/frameworks-ext/base/core/java/android/bluetooth/BluetoothAdapter.java   在getName()方法中添加型号名称,以下语句

          || "S9500".equals(mService.getName())

 public String getName() {
        try {
            Log.d("getName()", "persist.sys.story_bluetooth" + android.os.SystemProperties.getInt("persist.sys.story_bluetooth", 0));
            if(android.os.SystemProperties.getInt("persist.sys.story_bluetooth", 0) == 0){

                if("GT-N7102".equals(mService.getName())
                    || "GT-N7100".equals(mService.getName())
                    || "ANDROID BT".equals(mService.getName())
                    || "I950 BT".equals(mService.getName())
                    || "GT-I9500".equals(mService.getName())
                    || "GT-I9502".equals(mService.getName())
                    || "KONSU".equals(mService.getName())
                    || "KingMan".equals(mService.getName())
                    || "ZH616".equals(mService.getName())
                    || "mango".equals(mService.getName())
                    || "S9500".equals(mService.getName())) {

                    if(!android.os.ProjectManager.getBlueToothName().equals(mService.getName())){
                        setCurLogoBTName(android.os.ProjectManager.getBlueToothName());

                    }
                    return android.os.ProjectManager.getBlueToothName();
                } else {

                    return mService.getName();
                }
            }else {

                return mService.getName();
            }
        } catch (RemoteException e) {Log.e(TAG, "", e);}
        return null;
    }




5、编译模块找不到符号:
删除三个缓存文件:
/out/target/product/lcsh72_we_jb3/system/app/模块名.apk
/out/target/product/lcsh72_we_jb3/obj/APPS/模块名_intermediates
/out/target/common/obj/APPS/模块名_intermediates

6、adb devices  找到设备:

       sudo adb kill-server

       sudo adb start-server

       adb devices

7、本地版本恢复到指定10版本:

      svn up -r 10


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值