AndroidStudio调试aosp源码 (gradle配置)
1、创建一个工程demo,确保能正常编译通过
2、打开demo工程 project下的build.gradle
3、配置project下的build.gradle
在文件开始增加plugin声明:
apply plugin:'java'
在buildscript同层级下面增加sourceSets:(内容可根据需要添加)
这里直接引入服务器中的源码
// 添加源码
sourceSets {
java {
java.srcDirs += '\\\\172.20.xx.xx\\data2\\xxx\\aosp\\tv\\Y41air\\EducationalTablet_U\\android\\packages\\apps\\Settings\\src'
java.srcDirs += '\\\\172.20.xx.xx\\data2\\xxx\\aosp\\tv\\Y41air\\EducationalTablet_U\\vendor\\mediatek\\proprietary\\packages\\apps\\SystemUI\\src'
}
}
删除clean目标,否则编译出错:
/*
task clean(type: Delete) {
delete rootProject.buildDir
}
*/
4、完成以上操作,同步代码,可以编译apk了。如此方便的使用AndroidStudio的断点debug和跟踪代码流程
5、完整的build.gradle如下
// Top-level build file where you can add configuration options common to all sub-projects/modules.
// 添加依赖
apply plugin:'java'
buildscript {
ext.gradleDir = "${getRootDir()}${File.separator}gradle${File.separator}"
apply from:"${gradleDir}dependencies.gradle"
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
google()
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.4'
classpath libs.kotlin_plugin
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
// 添加源码
sourceSets {
java {
java.srcDirs += '\\\\172.20.xx.xx\\data2\\xx\\aosp\\tv\\Y41air\\EducationalTablet_U\\android\\packages\\apps\\Settings\\src'
java.srcDirs += '\\\\172.20.xx.xx\\data2\\xx\\aosp\\tv\\Y41air\\EducationalTablet_U\\vendor\\mediatek\\proprietary\\packages\\apps\\SystemUI\\src'
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
google()
mavenCentral()
jcenter()
}
}
// 依赖的包中包含该目标,因此此处的需要删除
/*
tasks.register('clean', Delete) {
delete rootProject.buildDir
}
*/