MTK(MediaTek)是国内一家知名的芯片设计厂商,其在移动设备领域非常有名。许多国产手机品牌都采用了MTK芯片,同时也吸引了大批Android开发人员。对于想要进行MTK安卓开发的人来说,建立良好的开发环境则非常重要。本文将针对MTK安卓开发环境进行详细介绍。
一、MTK芯片的相关内容
MTK芯片主要针对移动终端市场,具有低功耗、高效能和适配性强等特点。其中,MTK的MT65xx系列是目前应用广泛的芯片系列之一。许多MTK手机都采用了这款芯片,且其对于安卓系统的支持比较好。
二、MTK安卓开发环境的搭建
1. Android Studio下载与安装
下载Android Studio软件,并完成安装。过程比较简单,就不再赘述。
2. JDK(Java Development Kit)下载与安装
下载JDK软件,并完成安装。也比较简单,根据网上步骤操作即可。
3. MediaTek USB VCOM驱动程序下载与安装
因为MTK手机的底层通讯基于串口技术,所以需要安装串口驱动。下载地址:https://androidmtk.com/download-mtk-usb-vcom-driver。下载完成之后安装即可。
4. MTK预备工具箱下载与安装
下载地址:https://pan.baidu.com/s/1dF64wJF,提取码:8vxz。该工具箱中包含了许多与MTK手机相关的工具和驱动。具体安装步骤请参照安装说明文档。
5. MTK包管理器下载与安装
MTK手机采用的是scatter文件格式,无法直接通过Android Studio进行编译。因此,需要安装MTK包管理器。下载地址:https://forum.xda-developers.com/showthread.php?t=2681169。下载完成后,将其解压到一个文件夹中。打开cmd窗口,进入到解压后的文件夹中,运行以下命令:
```
dev_appeloop.bat
```
接着,在cmd窗口中输入想要创建的工程名称,如:
```
myproj
```
然后回车即可。
三、使用MTK安卓开发环境进行开发
1. 创建工程
打开Android Studio软件,点击File -> New -> New Project。并且注意选择MTK项目模板。
2. 修改gradle配置文件
因为MTK芯片和普通的Android混合开发不同,需要修改gradle配置文件。打开项目根目录下的build.gradle文件,将其修改成以下内容:
```
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.example.mtkdemo"
minSdkVersion 19 // 必须设置到 19 。更高的版本无法刷入不带签名的 apk
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
//设置支持的SO库架构
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
ndk {
//设置nDK支持的库
moduleName "hellojni"
ldLibs "log"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation project(':mtk')
}
```
其中,针对MTK的相关配置已经在上面说明过了。
3. 设置MTK芯片和对应的串口
在工程的build.gradle文件中添加以下代码:
```
android{
......
defaultConfig{
//以下参数是必须要设置的,串口设置为你电脑连接上的 MTK 设备类型对应的串口
manifestPlaceholders = [
MTK_PROJECT_PROP:'MTK',
# 此处448000是波特率
MTK_BAUD_PROP:'448000',
MTK_TTY_PROP:'/dev/ttyUSB0'
]
}
......
}
```
各个参数的含义如下:
- MTK_PROJECT_PROP:工程名称
- MTK_BAUD_PROP:波特率,通常设置为 448000
- MTK_TTY_PROP:串口,需要设置为电脑连接上的 MTK 设备类型对应的串口
4. 修改JNI中的串口配置文件
因为存在不同的MTK芯片类型,需要针对不同的MTK型号修改JNI中的串口配置文件。以MT6580为例,该串口配置文件位置为:
```
{MTK_PACK_PATH}\mediatek\custom\MT6580\Android\external\ps\dialer\gsmutil\inc\common\ftmconf.h
```
将其中以下参数的值修改为相应的串口即可:
```
#define PATH_PORT "/dev/ttyHSUSB2"
#define LOOPBACK_UART_PORT "/dev/ttyMtkmdcLog"
```
5. 编写代码
首先,我们需要添加MTK的头文件,以MT6580为例,头文件路径为:
```
D:\Program Files (x86)\MediaTek\MTK65xx USB VCOM Drivers\MTK_android\mt65xx\include
```
然后,可以直接调用MTK芯片的相关API接口。
以上便是搭建MTK安卓开发环境的全部过程。开发人员可以根据自己的需要进行相应的拓展和修改。