MTK Android平无锡Android开发台开发流程

2020-11-04 15:55:57 无锡雷霆

本篇给大家具体讲解了MTKAndroid平台开发流程,大致分为44个步骤,咱们把每个步骤的命令具体讲解了下,一同来学习下。

1.拷贝代码仓库从git@192.168.1.3:a89.git到work目录下:

cbk@YCS:~/work$ll

cbk@YCS:~/work$rm-rfa89/

cbk@YCS:~/work$cd..

cbk@YCS:~/work$gitclonegit@192.168.1.3:a89.git

2.修正xshell用户明码:passwd

3.Android查看源代码的版本号

1.)编译的时分在终端中一末尾就会打印进去:PLATFORM_VERSION:2.3.1

2.)间接去make文件中去看:build\core\version_defaults.mk//搜查该文件中的PLATFORM_VERSION值

4.编译详细appsudoku,源码文件包位于..\package\app\sudoku,命令为:

./mkmmpackage/app/sudoku

5.设置eclipse抉择启动不同的AVD设置模式:

eclipse中右击指定app文件夹、抉择Runas->Runconfigrations,弹出界面抉择Target项, 无锡app开发,抉择指定的AVD。(debug模式类似设置)

6.adb命令

adbdevice:查看以后的链接的设施情况

adblogcat>my.log:打印以后的log记载到文件my.log中

7.adb无奈启动成绩剖析:

adbkill-server,然后adb?Cstartserver

8、9.SDK的android类库是android源码工程的裁剪(SLIM)版本,不集成"@hide"类型的成员函数。故存在SDK上编译的apk四处通行,源码工程上编译的apk很多情况下不能间接加载上其余软件版本的平台上。

10.打印查看名目标DENSITY_DEVICE,便于名目确认对应drawable文件夹:

res=getResources();//context.getResources();

dm=res.getDisplayMetrics();

density_device_value=dm.DENSITY_DEVICE;

11.Flashtool下载时分揭示preloadusbvcomport驱动没有装置,需求装置指定门路:

D:\Tools\Mtk_release_Tools_W1316\Driver(binary)\SP_Drivers_v1.5\SP_Drivers_v1.5

另外需求网上下载mt65xx+preloader+驱动,将其中文件usb2ser.sys改名为usbser.sys拷贝到C:\WINDOWS\system32\drivers下面

备注:假设装置驱动不胜利,有能够是系统中短少usbser.sys和mdmcpq.inf文件导致的。可能将本文档所在门路附带的usbser.sys拷贝到C:\WINDOWS\system32\drivers下面,将mdmcpq.inf拷贝到C:\WINDOWS\inf即可。

12.默许壁纸的修正

a.屏幕上锁屏界面背景图片:

若是mtkslidelockscreen,可交流下面文件修正锁界面时背景图片

\mediatek\source\frameworks\banyan\res\res\drawable\lockscreen_default_wallpaper.png

若是androiddefaultlockscreen,可交流下面文件修正锁界面时背景图片

\frameworks\base\core\res\res\drawable\default_wallpaper.jpg

b.静态壁纸:

咱们能够会在系统的壁纸抉择中退出咱们本人的壁纸,系统壁纸是Launcher模块中退出的,咱们只有要修正:./packages/apps/Launcher2/res/values-mdpi/wallpapers.xml在其中退出咱们修正的壁纸的<item>wallpaperName</item>即可。

c.动态壁纸:

修正frameworks/base/core/res/res/values/config.xml文件中找到<stringname=”default_wallpaper_component”>@null</string>,修正为

<stringname=”default_wallpaper_component”>com.android.wallpaper/.nexus.NexusWallpaper</string>

其中com.android.wallpaper/.nexus.NexusWallpaper,”/”前为包名,后为类名

备注:假设要将内置到系统中的无sourcecode的第三方动态壁纸程序设置为默许动态壁纸,则需求知道该apk中WallpaperService对应的类名和包名,可能经过Google提供的apk-tool工具来失去该apk的资源文件,那么就可能经过查看AndroidManifest.xml文件去查找到对应的WallpaperService的类名和包名。

13.logo文件寄存地位:

alps\mediatek\custom\common\uboot\logo\logo_folder

logo_folder:定义在..\mediatek\config\XXXX\ProjectConfig.mk中BOOT_LOGO=wsvganl

14.Lcd文件寄存地位:

alps\mediatek\custom\common\kernel\lcm\lcd_folder

alps\mediatek\custom\common\uboot\lcm\lcd_folder

lcd_folder:定义在..\mediatek\config\XXXXProjectConfig.mk中:

CUSTOM_UBOOT_LCM=zs070#nt35510

CUSTOM_KERNEL_LCM=zs070#nt35510

15.camera文件寄存地位:

alps\mediatek\custom\common\kernel\imgsensor\camera_folder

camera_folder:定义在..\mediatek\config\XXXX\ProjectConfig.mk中:

CUSTOM_HAL_IMGSENSOR=hi253_yuvgc0309_yuv#ov5647_rawhi704_yuv

CUSTOM_HAL_MAIN_IMGSENSOR=hi253_yuv#ov5647_raw

CUSTOM_HAL_SUB_IMGSENSOR=gc0309_yuv#hi704_yuv

CUSTOM_KERNEL_IMGSENSOR=hi253_yuvgc0309_yuv#ov5647_rawhi704_yuv

CUSTOM_KERNEL_MAIN_IMGSENSOR=hi253_yuv#ov5647_raw

CUSTOM_KERNEL_SUB_IMGSENSOR=gc0309_yuv#hi704_yuv

16.求教,android中假设修正了资源文件,如res/values/string.xml文件中的内容,那么如何编译生效?我将该模块重新编译了一下如mmmpath/module-name,然而如同没有生效

删掉生成的jar包就OK了。详细在out/target/common/obj目录下

./mkk6mmpackages/apps/Launcher2

删除apk文件alps\out\target\product\k6\system\app

./mksystemimage

17.工程根本配置文件:

mediatek\config\xxx\ProjectConfig.mk

build\target\product\common.mk

18.如何将ProjectConfig.mk中的宏(留意减少的宏必须大写)减少到C/C++源文件的接口:

[KEYWORD]

AUTO_ADD_GLOBAL_DEFINE_BY_NAME

AUTO_ADD_GLOBAL_DEFINE_BY_VALUE

AUTO_ADD_GLOBAL_DEFINE_BY_NAME_VALUE

19.如何分别配置基线工程和特定名目标开关、代码:

需求被一切工程用到的代码或配置放在以下目录:

mediatek/customer/common

mediatek/config/common

只被一个公用工程用到的配置和代码应该放在什么地位?

mediatek/customer/$project$

mediatek/config/$project$

20.如何共享含很多Linux软链接的代码工程给别人:

解压代码包后,里面有很多linux的软链接并且编译后也会生成很多软链接,如何将代码复制给其别人,并且也可能失常编译很重要。

制止以下方法紧缩软件:

1.不能在windows下用紧缩软件紧缩或用复制粘贴的模式

2.不能再linux下用右键紧缩的方法紧缩代码;以上模式都是使链接失效。

正确的方法是:tarczfv<project_name>.tar.gzalps

其中<project_name>为恣意名字,最好是名目+版本的命名模式,无锡网站设计,alps为源代码目录,已以后要紧缩的目录为准。

21.编译用户版软件(UserBuild)的命令是什么

./makeMtk-opt=TARGET_BUILD_VARIANT=user${projectname}new

${projectname}为客户的工程名

22.GCC工具链

Android,平台,开发,流程