Android 10 SystemUI 如何自定义自己资源文件和如何通过AS来阅读代码

一、SystemUI 如何通过Android Studio来阅读代码
1、先通过AS创建一个test工程,然后把SystemUI源码以modlule的形式导进来,然后在该modlule下面创建build.gradle文件,同步一下就可以看代码了

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"

    defaultConfig {
        applicationId "com.android.systemui"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            jniLibs.srcDirs = [
                    'libs'
            ]
            java.srcDirs = [
                    'src'
            ]
            aidl.srcDirs = [
                    'src'
            ]
            res.srcDirs = [
                    'res'
            ]
            res.srcDirs = [
                    'res-zqc'
            ]
            assets.srcDirs = [
                    'assets'
            ]
        }
    }
}

二、SystemUI 如何自定义自己资源文件
1、在SystemUI目录下面创建一个res-zqc文件夹,然后在该文件夹下面可以创建如下资源文件夹:layout、values、values-zh-rCN、drawable等资源文件
在这里插入图片描述2、添加资源文件目录后,需要在Android.bp文件中把res-zqc编译进来

java_library {
    name: "SystemUI-proto",

    srcs: ["src/**/*.proto"],

    proto: {
        type: "nano",
    },
}

java_library {
    name: "SystemUI-tags",
    srcs: ["src/com/android/systemui/EventLogTags.logtags"],
}

android_library {
    name: "SystemUI-core",
    srcs: [
        "src/**/*.kt",
        "src/**/*.java",
        "src/**/I*.aidl",
    ],
    resource_dirs: [
        "res-keyguard",
        "res-zqc",//加载自己的资源文件目录
        "res",
    ],
    static_libs: [
        "SystemUIPluginLib",
        "SystemUISharedLib",
        "SettingsLib",
        "androidx.legacy_legacy-support-v4",
        "androidx.recyclerview_recyclerview",
        "androidx.preference_preference",
        "androidx.appcompat_appcompat",
        "androidx.mediarouter_mediarouter",
        "androidx.palette_palette",
        "androidx.legacy_legacy-preference-v14",
        "androidx.leanback_leanback",
        "androidx.slice_slice-core",
        "androidx.slice_slice-view",
        "androidx.slice_slice-builders",
        "androidx.arch.core_core-runtime",
        "androidx.lifecycle_lifecycle-extensions",
        "androidx.dynamicanimation_dynamicanimation",
        "androidx-constraintlayout_constraintlayout",
        "iconloader_base",
        "SystemUI-tags",
        "SystemUI-proto",
        "dagger2-2.19",
        "jsr330"
    ],
    manifest: "AndroidManifest.xml",

    libs: [
        "telephony-common",
        "ims-common",
        "unisoc_ims_common",
        "radio_interactor_common",
    ],

    aaptflags: [
        "--extra-packages",
        "com.android.keyguard",
    ],

    plugins: ["dagger2-compiler-2.19"],
}

android_library {
    name: "SystemUI-tests",
    manifest: "tests/AndroidManifest.xml",
    resource_dirs: [
        "tests/res",
        "res-keyguard",
        "res-zqc",//加载自己的资源文件目录
        "res",
    ],
    srcs: [
        "tests/src/**/*.kt",
        "tests/src/**/*.java",
        "src/**/*.kt",
        "src/**/*.java",
        "src/**/I*.aidl",
    ],
    static_libs: [
        "SystemUIPluginLib",
        "SystemUISharedLib",
        "SettingsLib",
        "androidx.legacy_legacy-support-v4",
        "androidx.recyclerview_recyclerview",
        "androidx.preference_preference",
        "androidx.appcompat_appcompat",
        "androidx.mediarouter_mediarouter",
        "androidx.palette_palette",
        "androidx.legacy_legacy-preference-v14",
        "androidx.leanback_leanback",
        "androidx.slice_slice-core",
        "androidx.slice_slice-view",
        "androidx.slice_slice-builders",
        "androidx.arch.core_core-runtime",
        "androidx.lifecycle_lifecycle-extensions",
        "androidx.dynamicanimation_dynamicanimation",
        "androidx-constraintlayout_constraintlayout",
        "SystemUI-tags",
        "SystemUI-proto",
        "metrics-helper-lib",
        "androidx.test.rules", "hamcrest-library",
        "mockito-target-inline-minus-junit4",
        "testables",
        "truth-prebuilt",
        "dagger2-2.19",
        "jsr330"
    ],
    libs: [
        "android.test.runner",
        "telephony-common",
        "android.test.base",
        "ims-common",
        "unisoc_ims_common",
        "radio_interactor_common",
    ],
    aaptflags: [
        "--extra-packages",
        "com.android.keyguard:com.android.systemui",
    ],
    plugins: ["dagger2-compiler-2.19"],
}

android_app {
    name: "SystemUI",
    static_libs: [
        "SystemUI-core",
    ],
    resource_dirs: [],

    platform_apis: true,
    product_specific: true,
    certificate: "platform",
    privileged: true,

    optimize: {
        proguard_flags_files: ["proguard.flags"],
    },

    libs: [
        "telephony-common",
        "unisoc_ims_common",
        "radio_interactor_common",
    ],

    dxflags: ["--multi-dex"],
    aaptflags: [
        "--extra-packages",
        "com.android.keyguard",
    ],
    required: ["privapp_whitelist_com.android.systemui"],

}

// Only used for products that are shipping legacy Recents
android_app {
    name: "SystemUIWithLegacyRecents",
    overrides: [
        "SystemUI",
    ],

    platform_apis: true,
    product_specific: true,
    certificate: "platform",
    privileged: true,

    dxflags: ["--multi-dex"],
    aaptflags: [
        "--extra-packages",
        "com.android.keyguard",
    ],
    optimize: {
        proguard_flags_files: ["proguard.flags", "legacy/recents/proguard.flags"],
    },

    static_libs: [
        "SystemUI-core",
    ],
    libs: [
        "telephony-common",
        "ims-common",
        "unisoc_ims_common",
    ],

    srcs: [
        "legacy/recents/src/**/*.java",
        "legacy/recents/src/**/I*.aidl",
    ],
    resource_dirs: [
        "legacy/recents/res",
    ],

    manifest: "legacy/recents/AndroidManifest.xml",
}

备注说明:AS加载SystemUI源码进来,如果不在build.gradle中加上自己自定义资源文件目录参与编译,那么看代码就标记红色并且不能跳转

### 回答1: Radio_mobile SHP数据是指一种地理信息系统(GIS)格式,其中包含了移动通信设施的位置和属性信息。这些设施可以包括基站和其他通信设备,被广泛用于无线通信的规划和设计。比如,运营商可以利用Radio_mobile SHP数据来确定最佳基站的位置和覆盖面积,以最大化网络覆盖率和通信质量。 Radio_mobile SHP数据的优点是它可以提供准确而且详细的GIS信息,这对于移动运营商非常关键。通过这些数据,运营商可以轻松地查看其通信网络的发展情况,同时可以快速对任何问题做出反应,例如网络拥塞或某个地区的信号不稳定等。除此以外,Radio_mobile SHP数据也可以用于学术研究,如对网络在不同区域的覆盖范围进行研究,或者对不同地区的通信设施的性能进行评估。 但是需要注意的是,Radio_mobile SHP数据并不是针对个人用户的。这些数据在从一个区域到另一个区域的传输过程中需要保密,以免泄露敏感信息。因此,只有具有特定权限的人才可以访问这些数据。对于大众用户来说,他们可以直接使用移动设备或应用程序来查看与使用无线网络的信息和功能。 ### 回答2: radio_mobile是一个开源的软件项目,用于创建和管理无线电网和移动网络的地理信息系统。这个项目建立在开源GIS软件QGIS和PostGIS数据库之上,并提供了一个包含SHp数据的数据库和一套工具,以便用户能够更好地管理自己的通信网络。SHp数据源是包含空间数据的文件,可以被用于GIS软件之中,来进行地理信息分析和数据处理。该数据源是一种开放源代码、非专有的格式,它能够用于多种不同类型的GIS软件中。对于radio_mobile项目来说,使用SHp文件作为数据库的一部分,可以提供更加灵活的方式来管理和维护无线电网和移动网络的地理数据,使得用户能够更加高效、方便地进行网络管理和规划工作。同时,也能够更好地满足用户的需求,因为他们可以在不同的GIS软件之间轻松切换,以适应他们的具体需求。总之,radio_mobile shp数据的使用使得无线电网和移动网络管理软件更加灵活、高效,因此也能够更好地满足用户的需求。 ### 回答3: radio_mobile shp数据是一种常用的地理信息数据格式,主要用于描述无线电通信基站或移动信号覆盖区域等无线通信相关的地理位置信息。其中,shp文件是数据存储的主要文件类型,结构化的存储方式使得数据的查询和管理都十分方便。这些数据可以用来进行类似于覆盖率分析、环境影响评估等应用程序。 通过radio_mobile shp数据可以直观的反映出不同地区的无线通讯网络建设情况,这对于促进无线网络基础设施建设以及进行相关政策制定具有一定的参考价值。此外,如果结合其他数据源,如地形、人口等数据、可以得出更多的有价值的信息,从而为数据用户提供更全面的分析视角。在数字化时代,radio_mobile shp数据发挥重要作用,伴随着人们对于智能移动终端、互联网的依赖程度不断提高,数据的利用和管理将变得更加重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>