SystemUI Q 移植到android studio开发

使用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

猜你喜欢

转载自blog.csdn.net/qq_20608169/article/details/112398071