android5.1平板或手机应用层一些常用的修改项及目录所在:

1、所以系统应用所在的目录:

[java] view plain copy
  1. \alps\packages\apps

2、一些系统属性的定义:并且可以仿写自行定义变量

[java] view plain copy
  1. \alps\build\tools\buildinfo.sh

3、一些apk的添加和删除:

[java] view plain copy
  1. \alps\build\target\product\generic.mk
  2. \alps\build\target\product\generic_no_telephony.mk
  3. \alps\build\target\product\telephony.mk
  4. \alps\build\target\product\core.mk

4、wifi,bt,sn的烧写位置:

[java] view plain copy
  1. alps\out\target\product\elink8163_tb_l1\obj\CGEN\

5、第三方apps目录:

[java] view plain copy
  1. \alps\vendor\mediatek\proprietary\operator\common\packages
  2. \alps\vendor\mediatek\proprietary\operator\common\frameworks

6、VideoPlayer、Stk1、Stk2、MTKThermalManager的values存放的目录:

[java] view plain copy
  1. \alps\device\mediatek\common\overlay\tablet\vendor\mediatek\proprietary\packages\apps
  2. \alps\device\mediatek\common\overlay\tablet\vendor\mediatek\proprietary\frameworks
  3. \alps\device\mediatek\common\overlay\tablet\vendor\mediatek\proprietary\protect-app

7、Launcher3、Settings、DeskClock的values存放的位置(单wifi):

[java] view plain copy
  1. \alps\device\mediatek\common\overlay\tablet\packages\apps

8、\frameworks values存放的位置:

[java] view plain copy
  1. \alps\device\mediatek\common\overlay\tablet\frameworks\base\core\res\res

9、导航栏显示或隐藏config.xml:

[java] view plain copy
  1. \alps\device\mediatek\common\overlay\navbar\frameworks\base\core\res\res\values

10、MemoryDeviceList对照表:

[java] view plain copy
  1. \alps\device\mediatek\build\build\tools\emigen\项目\MemoryDeviceList_MT8163.xls

11、开机动画存放的目录Android.mk进行配置说明:

[java] view plain copy
  1. \alps\vendor\mediatek\proprietary\operator\OP09\prebuilt\bootanim\bootanimation
  2. \alps\vendor\mediatek\proprietary\operator\OP09\prebuilt\bootanim\bootaudio开机铃声
  3. \alps\vendor\mediatek\proprietary\operator\OP09\prebuilt\bootanim\shutanimation关机动画

12、内存更改目录:

[java] view plain copy
  1. \alps\bootable\bootloader\preloader\custom\elink8163_tb_l1\inc\custom_MemoryDevice.h
  2. \alps\bootable\bootloader\preloader\tools\emigen\MT8163\MemoryDeviceList_MT8163.xls
  3. \alps\bootable\bootloader\preloader\tools\emigen\MT8163\full_elink8163_e  修改版本号,语言类

13、lcm,logo等的配置目录:

[java] view plain copy
  1. \alps\bootable\bootloader\lk\dev

14、对应的屏大小,配置不同的图标:

[java] view plain copy
  1. wxga   竖屏
  2. wxgal  横屏
[java] view plain copy
  1. </pre>都指显示模式其中WXGA是16:10宽屏,各显示模式支持分辨率如下<pre name="code" class="java">QVGA 240×320
  2. HVGA 480*320
  3. VGA 640X480
  4. SVGA 800X600
  5. XGA 1024X768
  6. SXGA 1280X1024
  7. SXGA+ 1400X1050
  8. UXGA 1600X1200
  9. WXGA 1280X800
  10. WXGA+ 1400X900
  11. WSXGA 1600X1024
  12. WSXGA+ 1680X1050
  13. WUXGA 1920X1200
  14. WQXGA 2560X1600

按需选购可能平板使用类似WSVGA的1024×576以及WXGA的1280×768等等,Google将设备分为small(2~3英寸)、normal(4英寸左右)、large(5~7英寸)、xlarge(7英寸以上)不同大小屏幕用不同大小的图片,low:medium:high:extra-high图片大小的比例为3:4:6:8;举例来说,对于中等密度(medium)的屏幕你的图片像素大小为48×48,那么低密度(low)屏幕的图片大小应为36×36,高(high)的为72×72,extra-high为96×96.

15、配置文件的修改(屏的宽高,logo的配置etc):

[java] view plain copy
  1. \alps\device\elink\elink8163_e\ProjectConfig.mk
  2. CUSTOM_LK_LCM = KR070IA4T_DSI_VDO
  3. CUSTOM_UBOOT_LCM = KR070IA4T_DSI_VDO
  4. MTK_BUILD_VERNO = ALPS.**(自定义版本号)
  5. \alps\device\elink\elink8163_e\full_elink8163_e
  6. set locales & aapt config.
  7. PRODUCT_LOCALES := en_US es_ES zh_CN zh_TW ru_RU pt_BR fr_FR de_DE tr_TR it_IT in_ID ms_MY vi_VN ar_EG hi_IN th_TH bn_IN pt_PT ur_PK fa_IR nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ iw_IL my_MM km_KH ko_KR pl_PL es_US bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB ja_JP
  8. #AAPT configuration
  9. PRODUCT_AAPT_CONFIG := normal large xlarge
  10. PRODUCT_AAPT_PREF_CONFIG := hdpi
  11. # Set those variables here to overwrite the inherited values.
  12. PRODUCT_MANUFACTURER := alps
  13. PRODUCT_NAME := **
  14. PRODUCT_DEVICE :=**
  15. PRODUCT_MODEL := **
  16. PRODUCT_POLICY := android.policy_phone
  17. PRODUCT_BRAND := alps
  18. DEFAULT_INPUT_METHOD = com.sohu.inputmethod.sogou.SogouIME  //默认输入法
  19. DEFAULT_LATIN_IME_LANGUAGES = en-US fr ru

16、lcd密度的设置:

[java] view plain copy
  1. \alps\device\elink\elink8163_e\system.prop
  2. ro.sf.lcd_density=213

17、默认壁纸的存放位置:

[java] view plain copy
  1. \alps\frameworks\base\core\res\res\drawable-nodpi\default_wallpaper

18、第三方应用所在目录,eg:Sina微博

[java] view plain copy
  1. \alps\vendor\mediatek\proprietary\binary\3rd-party\free\Sina_Weibo
  2. 添加完后,打开文件device\mediatek\common\device.mk
  3. 将 Sina添加到 PRODUCT_PACKAGES 里面。PRODUCT_PACKAGES += Sina,然后重新build整个工程

19、对应的drawable:

[java] view plain copy
  1. 320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
  2. 480dp: a tweener tablet like the Streak (480x800 mdpi).
  3. 600dp: a 7” tablet (600x1024 mdpi).
  4. 720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
  5. 所以1280*720 就用720dp的.

20、长按power键弹出的选项:

[java] view plain copy
  1. framework\policies\base\phone\com\android\internal\policy\impl\PhoneWindowManager.java
  2.  Runnable mPowerLongPress = new Runnable() {
  3.   public void run(){
  4.   mShouldTurnOffOnKeyUp = false;
  5.   performHapticsFeedbackLw(null,HapticFeedbackConstants.LONG_PRESS,false);
  6.   sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);
  7.   showGlobalActionsDialog();
  8.   } };

调用showGlobalActionDialog方法将会显示“飞行模式”、“静音”,“关机”,选项的对话框,这个时候我们就可以把位于此处的frameworks\policies\base\phone\com\android\internal\policy\impl\GlobalActions.java该文件的createDialog方法中代码

21、系统默认只有一张内置的静态壁纸,如如何修改可以内置多张静态壁纸:

KK版本:
1).在Launcher3/res/drawable-xxx 的文件夹下增加wallpaer的图片,每个wallpaper需要两种图片一张原图一张缩略图,如下形式

[html] view plain copy
  1. wallpaper_01.jpg
  2. wallpaper_01_small.jpg
  3. wallpaper_02.jpg
  4. wallpaper_02_small.jpg

缩略图的文件名必须原图"文件名"+"_small"
2).在Launcher3/res/values-nodpi的wallpapers.xml中修改如下:

[html] view plain copy
  1. <resources>
  2. <string-array name="wallpapers" translatable="false">
  3. <item>wallpaper_01</item>
  4. <item>wallpaper_02</item>
  5. </string-array>
  6. </resources>

L版本:
1).在Launcher3/WallpaperPicker/res/drawable-xxx 的文件夹下增加wallpaer的图片,每个wallpaper需要两种图片一张原图一张缩略图,如下形式

[html] view plain copy
  1. wallpaper_01.jpg
  2. wallpaper_01_small.jpg
  3. wallpaper_02.jpg
  4. wallpaper_02_small.jpg

缩略图的文件名必须原图"文件名"+"_small"
2).在Launcher3/WallpaperPicker/res/values-nodpi的wallpapers.xml中修改如下:

[html] view plain copy
  1. <resources>
  2. <string-array name="wallpapers" translatable="false">
  3. <item>wallpaper_01</item>
  4. <item>wallpaper_02</item>
  5. </string-array>
  6. </resources>

3)、Launcher3中app icon应用的顺序排列修改目录如下:eg:

[html] view plain copy
  1. Launcher3\res\xml\default_toppackage.xml
[html] view plain copy
  1. <toppackages xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher3">
  2. <app
  3. launcher:topPackageName="com.yahoo.mobile.client.android.odp"
  4. launcher:topClassName="com.yahoo.mobile.client.android.odp.YahooODP"
  5. launcher:topOrder="4"
  6. />
  7. <app
  8. launcher:topPackageName="com.yahoo.mobile.client.android.im"
  9. launcher:topClassName="com.yahoo.mobile.client.android.im.YahooMessenger"
  10. launcher:topOrder="5"
  11. />
  12. <app
  13. launcher:topPackageName="com.yahoo.mobile.client.android.mail"
  14. launcher:topClassName="com.yahoo.mobile.client.android.mail.activity.YahooMail"
  15. launcher:topOrder="6"
  16. />
  17. <app
  18. launcher:topPackageName="com.yahoo.mobile.client.android.news"
  19. launcher:topClassName="com.yahoo.mobile.client.android.news.activity.Main"
  20. launcher:topOrder="7"
  21. />
  22. <app
  23. launcher:topPackageName="com.yahoo.mobile.client.android.finance"
  24. launcher:topClassName="com.yahoo.mobile.client.android.finance.activity.Main"
  25. launcher:topOrder="10"
  26. />
  27. </toppackages>

22、添加reboot

如果需要添加重新启动菜单做重启手机的动作,可以参考如下步骤修改实现:
1)、 在alps\frameworks\base\core\res\res\values\strings.xml 中添加标签:

[html] view plain copy
  1. <string name="zzzzz_global_action_power_reboot">Reboot</string>

用来显示重新启动菜单项的字符串资源,如果需要添加其他语言的标识,请在其他可替换资源的res folder下添加对应资源。
请注意,为了保证资源文件能够被编译进去,请同步将此资源添加到symbols.xml中。
 
2)、 在alps\frameworks\base\core\res\res\drawable-hdpi中添加图标:

[html] view plain copy
  1. zzzzz_ic_lock_power_reboot.png

3)、 在alps\frameworks\base\policy\src\com\android\internal\policy\impl\GlobalActions.java
文件中的createDialog()函数中添加:

[java] view plain copy
  1. Private GlobalActionsDialog createDialog(){
  2. ……
  3. mItems = new ArrayList<Action>();
  4. // first: power off
  5. mItems.add(……);
  6. /Added for reboot items start
  7. mItems.add(
  8. new SinglePressAction(
  9. com.android.internal.R. zzzzz_ic_lock_power_reboot,
  10. R.string.zzzzz_global_action_power_reboot) {
  11. public void onPress() {
  12. mWindowManagerFuncs.reboot(true);
  13. }
  14. public boolean onLongPress() {
  15. mWindowManagerFuncs.rebootSafeMode(true);
  16. return true;
  17. }
  18. public boolean showDuringKeyguard() {
  19. return true;
  20. }
  21. public boolean showBeforeProvisioning() {
  22. return true;
  23. }
  24. });
  25. /added end
  26. // next: airplane mode
  27. mItems.add(mAirplaneModeOn);
  28. ……
  29. }

4)、 在frameworks\base\core\java\android\view\WindowManagerPolicy.java文件中,找到WindowManagerFuncs这个interface的定义,增加如下function的声明:

[java] view plain copy
  1. public interface WindowManagerFuncs {
  2. public void reboot(boolean confirm);
  3. }

5)、 在Frameworks\base\services\java\com\android\server\wm\WindowManagerService.java中,因为其实现了WindowManagerFuncs这个接口,需要在该文件中添加reboot()函数的实现体。
找到shutdown()函数,在其后面添加reboot()函数,函数内容如下:

[java] view plain copy
  1. // Called by window manager policy.  Not exposed externally.
  2. @Override
  3. public void reboot(boolean confirm) {
  4. ShutdownThread.reboot(mContext, confirm);
  5. }

还需要在array.xml的config_globalActionsList添加reboot选项
  public.xml中进行配置
 字符串添加:(第一次可以编过,后面有碰到编译res找不到)

[java] view plain copy
  1. strings.xml:
  2. <string name="reboot_confirm_question">"Do you want to reboot?"</string>
  3. <string name="global_action_reboot">"Reboot"</string>
  4. <string name="reboot_progress">"Rebooting..."</string>
  5. symbols.xml
  6. <java-symbol type="string" name="reboot_confirm_question" />
  7. <java-symbol type="string" name="global_action_reboot" />
  8. <java-symbol type="string" name="reboot_progress" />(遇到编译res找不到,先屏蔽掉symbols.xml,编译后再重新加上继续编译)

注:android5.1的config_globalActionsList在  X:\8163_eng\alps\frameworks\base\core\res\res\values\config.xml中已定义

23、GMS预置:

L版本GMS预置比较简单,只需要把GMS需要预置内容放置在 alps/vendor/google/文件夹下(google文件夹需要自行创建)
然后检查vendor/google/下是否存在Android.mk文件,若没有此Android.mk,请新建一个,并把以下内容拷贝进去:

[html] view plain copy
  1. ifdef BUILD_GMS
  2. ifeq ($(strip $(BUILD_GMS)), yes)
  3. include $(call all-subdir-makefiles)
  4. endif
  5. endif

同时再检查vendor/google/以下两个文件夹apps/ 和 frameworks/第一层目录下是否存在Android.mk如果不存在,也各新建一个,将以下内容拷贝进去:

[html] view plain copy
  1. include $(call all-subdir-makefiles)

最后在build的时候带入"BUILD_GMS=yes",如:

[java] view plain copy
  1. source build/envsetup.sh && lunch full_<YourProjectName>-user && source ./mbldenv.sh && BUILD_GMS=yes make -j24

若提示找不到mbldenv.sh,则使用如下命令:

[java] view plain copy
  1. source build/envsetup.sh && lunch full_<YourProjectName>-user && BUILD_GMS=yes make -j24

注意,源代码的build文件中会有判断 BUILD_GMS 的值做不同build行为的语句,请不要修改,否则会造成GMS预置冲突或者预置不完整问题

24、预置apk到vendor/operator/app下面

预置apk到vendor/operator/app下面,有时候会编译不过
这种情况一般是apk本身没有对齐导致的,可以先使用zipalign重新对齐apk后再预置,具体做法如下:

[java] view plain copy
  1. out/host/linux-x86/bin/zipalign -f 4 unalign.apk aligned.apk

其中,unalign.apk指当前source apk,aligned.apk指对齐后输出的apk.

25、mtk自带的一些工具文件,eg:工程模式

[java] view plain copy
  1. \alps\vendor\mediatek\proprietary\packages\apps\EngineerMode

26、Launcher3的添加所在目录:

[java] view plain copy
  1. \alps\device\mediatek\mt8163\device.mk

27、apn配置文件所在目录:

[java] view plain copy
  1. \alps\device\generic\goldfish\data\etc\apns-conf.mk

28、GMS包接口所在目录:

[java] view plain copy
  1. \alps\device\mediatek\common\device.mk

29、可以在该目录下添加.jar和.so库(gms需要的库可在此添加)

[java] view plain copy
  1. eg:\alps\vendor\**\libs\**\com.google.widevine.software.drm\com.google.widevine.software.drm.jar

30、hotseat布局排版,所在目录:default_workspace_5x6

[java] view plain copy
  1. \alps\device\mediatek\common\overlay\wifi\packages\apps\Launcher3\res\xml\default_workspace_5x6.xml

31、工程测试模式指令(暗码)

在\alps\frameworks\base\telephony\java\com\android\internal\telephony\TelephonyIntents.java 有接口(android.provider.Telephony.SECRET_CODE)
在packages/services/telephony/src/com/android/phone/SpecialCharSequenceMgr.java的handleSecretCode方法中对暗码就行了处理
\alps\vendor\mediatek\proprietary\packages\apps中添加FactoryMode,并在\alps\device\mediatek\common\device.mk文件中添加FactoryMode,
报莫名其妙的错误(后来问同事发现 , 必须对新增类中的函数或成员变量如果是public的话必须添加 /**{@hide}*/ 修饰. )
可在计算器中用如下demo进行暗码调用

[java] view plain copy
  1. if(text.contains("(2586)")) {
  2. // mDisplay.setText(mResult, scroll);
  3. // setDeleteMode(DELETE_MODE_CLEAR);
  4. int len = text.length();
  5. // Intent intent = new Intent(TelephonyIntents.SECRET_CODE_ACTION,Uri.parse("android_secret_code://" + text.substring(1, len - 1)));
  6. Intent intent = new Intent("android.provider.Telephony.SECRET_CODE",Uri.parse("android_secret_code://" + text.substring(1, len - 1)));
  7. mContext.sendBroadcast(intent);
  8. return;
  9. }

接收在Settings.java的

[java] view plain copy
  1. <receiver android:name="TestingSettingsBroadcastReceiver">
  2. <intent-filter>
  3. <action android:name="android.provider.Telephony.SECRET_CODE" />
  4. <data android:scheme="android_secret_code" android:host="4636" />
  5. </intent-filter>
  6. </receiver>

也可以自己写apk直接调用工厂模式:

[java] view plain copy
  1. Intent intent=new Intent();
  2. intent.setComponent(new ComponentName("com.mediatek.engineermode", "com.mediatek.engineermode.EngineerMode"));
  3. startActivity(intent);

31、Launcher3中,android.mk文件中加入LOCAL_PRIVILEGED_MODULE := true,才能使Launcher3添加appwidget有效

32、Launcher3 桌面横屏显示:

1).修改AndroidManifest.xml

[html] view plain copy
  1. <activity
  2. ndroid:name="com.android.launcher3.Launcher"
  3. android:launchMode="singleTask"
  4. android:clearTaskOnLaunch="true"
  5. android:stateNotNeeded="true"
  6. android:theme="@style/Theme"
  7. android:configChanges="mcc|mnc"
  8. android:windowSoftInputMode="adjustPan"
  9. android:screenOrientation="sensor"> <!--modify to sensor -->

2).修改Utilities.java的isRotationEnabled方法

[java] view plain copy
  1. public static boolean isRotationEnabled(Context c)
  2. {
  3. return true;//直接返回true
  4. }

此时旋转手机,Launcher会横竖屏切换。但hotseat会显示在屏幕的右方。如果要让hotseat显示在屏幕底部,可以按照如下步骤操作:

3).修改res/values/config.xml

[html] view plain copy
  1. <!--hotseat -->
  2. <bool name="hotseat_transpose_layout_with_orientation">false</bool> <!--改为false-->

4).修改Hotseat.java的onFinishInflate方法

[java] view plain copy
  1. @Override
  2. protected void onFinishInflate() {
  3. super.onFinishInflate();
  4. LauncherAppState app = LauncherAppState.getInstance();
  5. DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
  6. AllAppsButtonRank = grid.hotseatAllAppsRank;
  7. mContent = (CellLayout) findViewById(R.id.layout);
  8. if (grid.isLandscape && !grid.isLargeTablet()) {
  9. mContent.setGridSize((int) grid.numHotseatIcons, 1); //modify
  10. } else {
  11. mContent.setGridSize((int) grid.numHotseatIcons, 1);
  12. }
  13. mContent.setIsHotseat(true);
  14. Log.i(TAG, "onFinishInflate,(int) grid.numHotseatIcons: " + (int) grid.numHotseatIcons);
  15. resetLayout();
  16. }

33、电池曲线修改目录:

[java] view plain copy
  1. \alps\kernel-3.10\drivers\misc\mediatek\mach\..\..\power\cust_battery_meter_table.h

34、配置内存大小:

excel表格对应位置:

[java] view plain copy
  1. \alps\bootable\bootloader\preloader\tools\emigen\..\MemoryDeviceList_MT8163.xls
  2. \alps\bootable\bootloader\preloader\custom\..\inc\custom_MemoryDevice.h
  3. 添加 #define CS_PART_NUMBER[1]      H5TC4G63AFR-PBA

35、变化设备屏幕尺寸:

[java] view plain copy
  1. \alps\kernel-3.10\arch\arm64\configs\**_e_debug_defconfig.mk
  2. \alps\device\..\..\ProjectConfig.mk

android5.1平板或手机应用层一些常用的修改项(MTK8163)相关推荐

  1. android5.1平板或手机应用层一些常用的修改项(eg:MTK8163)

    文章来源:http://blog.csdn.net/j086924/article/details/51613055 android5.1平板或手机应用层一些常用的修改项及目录所在: 1.所以系统应用 ...

  2. 将你的老旧Android平板或手机改造成服务器

    相信电脑前的各位与我一样,都对自己手中的智能手机或平板电脑爱不释手,但是作为一款科技产品更新换代的速度几乎让我们无法跟随.通常来说,每六个月的周期就会出现配置更强大的新产品,而作为消费者在购买了新设备 ...

  3. Android手机系统adb常用的命令

     adb常用的命令有哪些?小编今天为大家奉上Android手机系统adb常用的命令,内容如下: 要使用adb命令,手机需要打开USB debug. 安装软件 adb install apk文件名称 ...

  4. 把平板、手机作为电脑第二屏幕(Linux系统下)

    将平板.手机作为电脑第二屏幕(Linux系统下) 背景 把手机.平板作为电脑第二屏幕是上个学期偶然想到的,那时我一边看网上的教程一边码代码.由于看的是视频教程,缩小了就看不清上面的字,放大了又会挡住打 ...

  5. adb发送什么命令能在手机屏幕弹窗显示_将平板、手机作为电脑第二屏幕(Linux系统下)...

    背景 把手机.平板作为电脑第二屏幕是上个学期偶然想到的,那时我一边看网上的教程一边码代码.由于看的是视频教程,缩小了就看不清上面的字,放大了又会挡住打字区域.这时就想如果有个第二屏幕就很方便了,买个屏 ...

  6. 在手机开发中常用的数据库是什么?

    在手机开发中常用的数据库是 (A) A:SQLiteB:OracleC:Sql ServerD:Db23 SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的 ...

  7. 【微信测试版】支持安卓平板和手机同时登录

    温馨提示 目前新版微信已经支持安卓平板和手机同时登录了,该微信测试版可以不用了. 下载地址 http://dldir1.qq.com/weixin/android/weixin7020android1 ...

  8. 瞬间把自己家里的ipad或华为平板、手机变成电脑副屏

    今天再给大家推荐一个有趣的玩法! 可以瞬间把自己家里的ipad或华为平板.手机之类的设备,变成电脑的副屏! 只要在PC端和平板上装一款叫:spacedesk 的免费软件,就可以做到! 这款工具最大的好 ...

  9. uniapp页面适配平板和手机

    一.移动端优先 一般建议直接给出750px的手机设计稿,通过rpx等比缩放.这里需要注意的是uniapp默认适配的最大屏幕宽度为960px,超过这个范围rpx将不生效,而某些平板的尺寸比如ipad p ...

最新文章

  1. 本科计算机学渣,2017计算机老学渣的经验教训
  2. C#零基础入门04:打老鼠初级之枚举、重构、事件处理器
  3. 部署Dashboard图形界面控制docker集群
  4. java实现遍历树形菜单方法——OpenSessionView实现
  5. 谷歌CEO支持欧盟禁止人脸识别!微软总裁:能用“手术刀”就别用“切肉刀”...
  6. 【英语学习】【English L06】U04 Adventure L1 I want to watch a ballet show there
  7. java网络通信:HTTP协议
  8. 应用时间序列分析案例操作--基于SAS软件,以北京市1980-2009年降水量为对象
  9. 超像素评价(评估)标准
  10. Electron“安装已中止,安装程序未成功地运行完成”
  11. 抖音小程序开发教程之初识抖音小程序 (教程含源码)
  12. html显示器对象属性,Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转...
  13. 《Kali Linux高级渗透测试原书第2版》网络渗透测试技术书 无线网络渗透测试详解 黑客攻击与防范实战从入门到精通书
  14. 男人必听九大歌曲精选
  15. 多方寻路RFID酝酿突围
  16. MATLAB函数——lowpass
  17. 带有风的诗词_带风字的古诗有哪些
  18. Vue项目img标签图片加载失败/显示不成功,显示默认图片
  19. c语言会议安排编程,我院召开《C语言程序设计》课程教学研讨会
  20. TIOBE 2012年9月编程语言排行榜:C语言老当益壮

热门文章

  1. 7-96 获奖的运气
  2. HTML5 - 用figure/添加插图和图题
  3. java 中调用支付宝支付功能的接口
  4. Mybatis学习(狂神)
  5. 《代码整洁之道》阅读笔记 2有意义的命名
  6. python调用google translate API(谷歌翻译) 的使用方法-手动构造HTTP 请求模式
  7. python无人驾驶_无人驾驶技术入门(四):无人车传感器 IMU 深入剖析
  8. vscode 设置自动换行
  9. Apache与Tomcat关系和区别
  10. Mobiola web camera Mobiola web camera