使用android studio开发SystemUI的配置简要
hi, 大家好,我是爱吃香蕉的猴子,今天记录一下 折腾将SystemUI移植到Android studio开发的一个经历。首先这个结果算是失败的吧,但搜索的过程也有一些收获。
- 新建一个工程SystemUIQ, package:com.android.systemui, 选择No Activity, 后面选对应的sdk 29,工程建成后,先配置一下build.gradle
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
替换maven() google()
然后,修改app/build.gradle, 暂时去掉test相关的依赖,注释掉anroidx的依赖,因为对androidx不是特别熟悉 还是用support.
在工程目录上把test的文件删除。
- 将SystemUI源码中工程移植到SystemUIQ的根目录下,在app/build.gradle中增加编译配置:
sourceSets {
main {
res.srcDirs = [
'../SystemUI/res',
]
java.srcDirs = [
'src/main/java',
'../SystemUI/src',
'../car-lib/src', //后面增加
'../car-lib/src_feature_current', //后面增加
'../car-aidl-src', //后面增加
]
manifest.srcFile '../SystemUI/AndroidManifest.xml'
}
}
implementation "com.android.support:support-v4:$rootProject.supportVersion"
implementation "com.android.support:appcompat-v7:$rootProject.supportVersion"
implementation "com.android.support:mediarouter-v7:$rootProject.supportVersion"
implementation "com.android.support:palette-v7:$rootProject.supportVersion"
implementation "com.android.support:recyclerview-v7:$rootProject.supportVersion"
implementation "com.android.support:design:$rootProject.supportVersion"
implementation "com.android.support:gridlayout-v7:$rootProject.supportVersion"
implementation "com.android.support:preference-v7:$rootProject.supportVersion"
implementation "com.android.support:preference-v14:$rootProject.supportVersion"
implementation "com.android.support:cardview-v7:$rootProject.supportVersion"
- 新建module, plugin SettingsLib keyguard
- module后面的配置基本和app相似,举例子SettingsLib.
sourceSets {
main {
res.srcDirs = [
'src/main/res',
'../SettingsLib/res',
]
java.srcDirs = [
'../SettingsLib/src',
]
}
}
- 然后将源码中的SettingsLib模块移植到SystemUIQ的根目录。
- 后面的plugin 和 keyguard新建module 配置与SettingsLib类似。
- others
android.enableJetifier=false
android.useAndroidX=false
- 增加jar包,在源码编译成功后,对照下面的表格
最后,出现很多错误1. 资源的 2. 还有其他的错误,暂时没有解决 。。。。。哎,但 方式还是正确的,后面有时间继续增加吧。
Code的搬运工V1.0