android.mk 解析基础android.mk 是 Android 构建系统中使用的 Makefile 文件用于定义模块的编译规则。在配置网络相关的 config.xml 时通常需要编写对应的 android.mk 文件来确保资源正确打包。android.mk 文件的基本结构包括模块定义、源文件列表、依赖关系等。一个典型的网络配置模块可能如下LOCAL_PATH : $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE : network_config LOCAL_MODULE_TAGS : optional LOCAL_SRC_FILES : config.xml LOCAL_MODULE_CLASS : ETC LOCAL_MODULE_PATH : $(TARGET_OUT)/etc include $(BUILD_PREBUILT)这段代码定义了一个名为 network_config 的预构建模块将 config.xml 文件安装到系统的 /etc 目录下。关键变量解析LOCAL_MODULE 定义了模块名称在整个构建系统中必须唯一。模块名称会用于生成最终的文件名。LOCAL_MODULE_TAGS 指定模块的标签optional 表示该模块不是必须构建的。其他常见值包括 eng仅工程模式、user用户模式等。LOCAL_SRC_FILES 列出了源文件对于配置文件通常只有一个文件。如果是代码模块这里会列出所有 .cpp 或 .java 文件。LOCAL_MODULE_CLASS 定义了模块类别ETC 表示这是一个配置文件。其他常见类别包括 APPS应用、JAVA_LIBRARIESJava库等。LOCAL_MODULE_PATH 指定了文件的安装位置$(TARGET_OUT)/etc 表示系统根目录下的 etc 文件夹。高级配置选项对于网络配置文件有时需要根据不同产品进行定制。可以使用条件判断来实现ifeq ($(TARGET_PRODUCT),specific_product) LOCAL_SRC_FILES : config_specific.xml else LOCAL_SRC_FILES : config_default.xml endif资源文件可能需要额外的处理步骤比如加密或格式转换。可以通过自定义命令实现LOCAL_POST_INSTALL_CMD : $(hide) encrypt-tool $(LOCAL_INSTALLED_MODULE)对于需要权限设置的文件可以添加LOCAL_POST_INSTALL_CMD ; chmod 644 $(LOCAL_INSTALLED_MODULE)多模块配置当网络配置涉及多个相关文件时可以在一个 android.mk 中定义多个模块include $(CLEAR_VARS) LOCAL_MODULE : network_config_primary LOCAL_SRC_FILES : primary_config.xml LOCAL_MODULE_CLASS : ETC include $(BUILD_PREBUILT) include $(CLEAR_VARS) LOCAL_MODULE : network_config_secondary LOCAL_SRC_FILES : secondary_config.xml LOCAL_MODULE_CLASS : ETC include $(BUILD_PREBUILT)依赖关系处理如果配置文件生成依赖于其他工具或文件可以明确指定依赖关系LOCAL_ADDITIONAL_DEPENDENCIES : generate_config.sh LOCAL_PREBUILT_COMMAND : ./generate_config.sh $(LOCAL_PATH)对于需要先构建工具的复杂情况可以使用LOCAL_REQUIRED_MODULES : config_generator LOCAL_PREBUILT_COMMAND : $(LOCAL_PATH)/config_generator $(LOCAL_PATH)/input.txt $(LOCAL_PATH)/config.xml产品差异化处理在产品线开发中不同产品可能需要不同的网络配置。可以通过产品变量实现ifdef PRODUCT_NETWORK_FEATURE_X LOCAL_CFLAGS -DFEATURE_X LOCAL_SRC_FILES feature_x.c endif或者为不同产品选择不同的配置文件LOCAL_SRC_FILES : config_$(TARGET_PRODUCT).xml调试与验证构建系统提供了验证模块定义是否正确的工具。使用 mm 命令可以单独构建当前模块$ mm network_config查看生成的中间文件可以验证变量扩展是否正确$ make network_config-dumpvars常见问题解决当配置文件未按预期安装时检查以下方面LOCAL_MODULE_PATH 是否正确文件权限是否足够644 是典型值产品配置是否包含该模块构建错误时常见的解决方法确保 LOCAL_MODULE 唯一检查文件路径是否正确验证依赖关系是否完整性能优化建议对于大型配置文件考虑分割为多个小文件并按需加载LOCAL_SRC_FILES : config_part1.xml config_part2.xml LOCAL_POST_INSTALL_CMD : $(hide) cat $(LOCAL_INSTALLED_MODULE).part* $(LOCAL_INSTALLED_MODULE)使用预生成技术可以缩短构建时间LOCAL_PREBUILT : true LOCAL_GENERATED_SOURCES : $(intermediates)/config.xml安全考虑敏感网络配置应该加密处理LOCAL_POST_INSTALL_CMD : $(hide) encrypt --key $(PRODUCT_SECURE_KEY) $(LOCAL_INSTALLED_MODULE)或者设置严格的访问权限LOCAL_POST_INSTALL_CMD : $(hide) chmod 600 $(LOCAL_INSTALLED_MODULE)测试集成为配置文件添加单元测试支持LOCAL_COMPATIBILITY_SUITE : device-tests LOCAL_TEST_CONFIG : network_config_test.xml集成到 CTS 测试中LOCAL_CTS_TEST_PACKAGE : android.network.config跨版本兼容处理不同 Android 版本的配置差异ifneq ($(call is-platform-sdk-version,28),) LOCAL_CFLAGS -DPLATFORM_P endif或者为不同 API level 准备不同文件LOCAL_SRC_FILES : config_api_$(TARGET_SDK_VERSION).xml最佳实践总结保持 android.mk 文件简洁明了每个模块只做一件事。复杂逻辑应该放在脚本中通过 LOCAL_PREBUILT_COMMAND 调用。使用清晰的命名约定特别是当有多个配置文件时。例如 network_config_wifi.xml 比 config1.xml 更有意义。为关键配置添加注释说明用途和修改历史便于后续维护# Network configuration for WiFi QoS settings # Last modified: 2023-06-15 # Author: Network Team LOCAL_MODULE : network_qos_config定期清理不再使用的配置项避免构建系统负担过重。使用版本控制系统跟踪变更历史。 每一次的努力都是为明天铺路无论前方有多少挑战只要脚步不断就必能抵达理想的彼岸。将每一次挫折视为成长的契机学会从中吸取经验 cresc更新自我与生命的丰富与可能性。每一步都算数相信努力不会白费生活始终能因付出而回馈以一样的热情与光芒照耀未来。学会在纷繁的世界中找到平静将每一次经历都视为成长的机会在逆境中也能找到力量。人生的旅途中会遭遇风雨但正是这些考验塑造了强大的内心让我们在风雨过后见到最美的彩虹。zhishi.axmscpv.cn/Article/900076.htmlzhishi.wttumug.cn/Article/130836.htmlzhishi.drfbcwh.cn/Article/157433.htmlzhishi.howihgh.cn/Article/527902.htmlzhishi.hjdbwrb.cn/Article/927061.htmlzhishi.rsdnvwp.cn/Article/965067.htmlzhishi.yctrimj.cn/Article/229845.htmlzhishi.xoisdve.cn/Article/399943.htmlzhishi.wcaanah.cn/Article/531577.htmlzhishi.xyiwzxw.cn/Article/309535.htmlzhishi.axmscpv.cn/Article/521801.htmlzhishi.wttumug.cn/Article/255436.htmlzhishi.drfbcwh.cn/Article/880762.htmlzhishi.howihgh.cn/Article/889353.htmlzhishi.hjdbwrb.cn/Article/803042.htmlzhishi.rsdnvwp.cn/Article/506066.htmlzhishi.yctrimj.cn/Article/629587.htmlzhishi.xoisdve.cn/Article/742836.htmlzhishi.wcaanah.cn/Article/410568.htmlzhishi.xyiwzxw.cn/Article/266320.htmlzhishi.axmscpv.cn/Article/008938.htmlzhishi.wttumug.cn/Article/504219.htmlzhishi.drfbcwh.cn/Article/947698.htmlzhishi.howihgh.cn/Article/361936.htmlzhishi.hjdbwrb.cn/Article/950036.htmlzhishi.rsdnvwp.cn/Article/917780.htmlzhishi.yctrimj.cn/Article/096529.htmlzhishi.xoisdve.cn/Article/439473.htmlzhishi.wcaanah.cn/Article/095709.htmlzhishi.xyiwzxw.cn/Article/412105.htmlzhishi.axmscpv.cn/Article/209168.htmlzhishi.wttumug.cn/Article/770483.htmlzhishi.drfbcwh.cn/Article/884108.htmlzhishi.howihgh.cn/Article/419315.htmlzhishi.hjdbwrb.cn/Article/390019.htmlzhishi.rsdnvwp.cn/Article/578884.htmlzhishi.yctrimj.cn/Article/388060.htmlzhishi.xoisdve.cn/Article/390793.htmlzhishi.wcaanah.cn/Article/680267.htmlzhishi.xyiwzxw.cn/Article/500438.htmlzhishi.axmscpv.cn/Article/301435.htmlzhishi.wttumug.cn/Article/768069.htmlzhishi.drfbcwh.cn/Article/608290.htmlzhishi.howihgh.cn/Article/788571.htmlzhishi.hjdbwrb.cn/Article/996461.htmlzhishi.rsdnvwp.cn/Article/311596.htmlzhishi.yctrimj.cn/Article/727947.htmlzhishi.xoisdve.cn/Article/282188.htmlzhishi.wcaanah.cn/Article/305750.htmlzhishi.xyiwzxw.cn/Article/153057.htmlzhishi.axmscpv.cn/Article/075320.htmlzhishi.wttumug.cn/Article/780644.htmlzhishi.drfbcwh.cn/Article/542698.htmlzhishi.howihgh.cn/Article/782202.htmlzhishi.hjdbwrb.cn/Article/623624.htmlzhishi.rsdnvwp.cn/Article/158306.htmlzhishi.yctrimj.cn/Article/824616.htmlzhishi.xoisdve.cn/Article/357851.htmlzhishi.wcaanah.cn/Article/318776.htmlzhishi.xyiwzxw.cn/Article/966139.htmlzhishi.axmscpv.cn/Article/282506.htmlzhishi.wttumug.cn/Article/889951.htmlzhishi.drfbcwh.cn/Article/228513.htmlzhishi.howihgh.cn/Article/670342.htmlzhishi.hjdbwrb.cn/Article/746563.htmlzhishi.rsdnvwp.cn/Article/722561.htmlzhishi.yctrimj.cn/Article/138951.htmlzhishi.xoisdve.cn/Article/263526.htmlzhishi.wcaanah.cn/Article/367689.htmlzhishi.xyiwzxw.cn/Article/904989.htmlzhishi.axmscpv.cn/Article/561319.htmlzhishi.wttumug.cn/Article/557445.htmlzhishi.drfbcwh.cn/Article/638354.htmlzhishi.howihgh.cn/Article/036442.htmlzhishi.hjdbwrb.cn/Article/822105.htmlzhishi.rsdnvwp.cn/Article/528460.htmlzhishi.yctrimj.cn/Article/151380.htmlzhishi.xoisdve.cn/Article/314888.htmlzhishi.wcaanah.cn/Article/042888.htmlzhishi.xyiwzxw.cn/Article/411588.htmlzhishi.axmscpv.cn/Article/457804.htmlzhishi.wttumug.cn/Article/590141.htmlzhishi.drfbcwh.cn/Article/070713.htmlzhishi.howihgh.cn/Article/031619.htmlzhishi.hjdbwrb.cn/Article/314330.htmlzhishi.rsdnvwp.cn/Article/738367.htmlzhishi.yctrimj.cn/Article/564092.htmlzhishi.xoisdve.cn/Article/928119.htmlzhishi.wcaanah.cn/Article/959893.htmlzhishi.xyiwzxw.cn/Article/236034.htmlzhishi.axmscpv.cn/Article/288669.htmlzhishi.wttumug.cn/Article/337947.htmlzhishi.drfbcwh.cn/Article/245959.htmlzhishi.howihgh.cn/Article/508064.htmlzhishi.hjdbwrb.cn/Article/709230.htmlzhishi.rsdnvwp.cn/Article/784530.htmlzhishi.yctrimj.cn/Article/962340.htmlzhishi.xoisdve.cn/Article/287018.htmlzhishi.wcaanah.cn/Article/027453.htmlzhishi.xyiwzxw.cn/Article/197263.htmlzhishi.axmscpv.cn/Article/232484.htmlzhishi.wttumug.cn/Article/109959.htmlzhishi.drfbcwh.cn/Article/724367.htmlzhishi.howihgh.cn/Article/924203.htmlzhishi.hjdbwrb.cn/Article/971522.htmlzhishi.rsdnvwp.cn/Article/548400.htmlzhishi.yctrimj.cn/Article/937122.htmlzhishi.xoisdve.cn/Article/105695.htmlzhishi.wcaanah.cn/Article/008563.htmlzhishi.xyiwzxw.cn/Article/213518.htmlzhishi.axmscpv.cn/Article/720681.htmlzhishi.wttumug.cn/Article/061778.htmlzhishi.drfbcwh.cn/Article/775949.htmlzhishi.howihgh.cn/Article/322821.htmlzhishi.hjdbwrb.cn/Article/323112.htmlzhishi.rsdnvwp.cn/Article/726355.htmlzhishi.yctrimj.cn/Article/098601.htmlzhishi.xoisdve.cn/Article/430757.htmlzhishi.wcaanah.cn/Article/005444.htmlzhishi.xyiwzxw.cn/Article/048965.htmlzhishi.axmscpv.cn/Article/997594.htmlzhishi.wttumug.cn/Article/812622.htmlzhishi.drfbcwh.cn/Article/624624.htmlzhishi.howihgh.cn/Article/219641.htmlzhishi.hjdbwrb.cn/Article/059601.htmlzhishi.rsdnvwp.cn/Article/278305.htmlzhishi.yctrimj.cn/Article/785009.htmlzhishi.xoisdve.cn/Article/487388.htmlzhishi.wcaanah.cn/Article/355184.htmlzhishi.xyiwzxw.cn/Article/252313.htmlzhishi.axmscpv.cn/Article/733047.htmlzhishi.wttumug.cn/Article/508004.htmlzhishi.drfbcwh.cn/Article/415240.htmlzhishi.howihgh.cn/Article/113922.htmlzhishi.hjdbwrb.cn/Article/720139.htmlzhishi.rsdnvwp.cn/Article/145064.htmlzhishi.yctrimj.cn/Article/164620.htmlzhishi.xoisdve.cn/Article/769475.htmlzhishi.wcaanah.cn/Article/625377.htmlzhishi.xyiwzxw.cn/Article/290934.htmlzhishi.axmscpv.cn/Article/887999.htmlzhishi.wttumug.cn/Article/454204.htmlzhishi.drfbcwh.cn/Article/008805.htmlzhishi.howihgh.cn/Article/035110.htmlzhishi.hjdbwrb.cn/Article/343464.htmlzhishi.rsdnvwp.cn/Article/309705.htmlzhishi.yctrimj.cn/Article/375388.htmlzhishi.xoisdve.cn/Article/463177.htmlzhishi.wcaanah.cn/Article/126897.htmlzhishi.xyiwzxw.cn/Article/083646.htmlzhishi.axmscpv.cn/Article/446027.htmlzhishi.wttumug.cn/Article/591580.htmlzhishi.drfbcwh.cn/Article/133315.htmlzhishi.howihgh.cn/Article/372626.htmlzhishi.hjdbwrb.cn/Article/118940.htmlzhishi.rsdnvwp.cn/Article/672692.htmlzhishi.yctrimj.cn/Article/974947.htmlzhishi.xoisdve.cn/Article/815812.htmlzhishi.wcaanah.cn/Article/671153.htmlzhishi.xyiwzxw.cn/Article/373003.htmlzhishi.axmscpv.cn/Article/483128.htmlzhishi.wttumug.cn/Article/180625.htmlzhishi.drfbcwh.cn/Article/009500.htmlzhishi.howihgh.cn/Article/602803.htmlzhishi.hjdbwrb.cn/Article/929172.htmlzhishi.rsdnvwp.cn/Article/757362.htmlzhishi.yctrimj.cn/Article/719240.htmlzhishi.xoisdve.cn/Article/648646.htmlzhishi.wcaanah.cn/Article/085051.htmlzhishi.xyiwzxw.cn/Article/013854.htmlzhishi.axmscpv.cn/Article/239701.htmlzhishi.wttumug.cn/Article/903946.htmlzhishi.drfbcwh.cn/Article/062980.htmlzhishi.howihgh.cn/Article/852994.htmlzhishi.hjdbwrb.cn/Article/259310.htmlzhishi.rsdnvwp.cn/Article/844257.htmlzhishi.yctrimj.cn/Article/013269.htmlzhishi.xoisdve.cn/Article/824478.htmlzhishi.wcaanah.cn/Article/061631.htmlzhishi.xyiwzxw.cn/Article/752348.htmlzhishi.axmscpv.cn/Article/954518.htmlzhishi.wttumug.cn/Article/995456.htmlzhishi.drfbcwh.cn/Article/811326.htmlzhishi.howihgh.cn/Article/463675.htmlzhishi.hjdbwrb.cn/Article/357113.htmlzhishi.rsdnvwp.cn/Article/483786.htmlzhishi.yctrimj.cn/Article/018731.htmlzhishi.xoisdve.cn/Article/236481.htmlzhishi.wcaanah.cn/Article/973916.htmlzhishi.xyiwzxw.cn/Article/708009.htmlzhishi.axmscpv.cn/Article/121429.htmlzhishi.wttumug.cn/Article/032817.htmlzhishi.drfbcwh.cn/Article/978271.htmlzhishi.howihgh.cn/Article/653601.htmlzhishi.hjdbwrb.cn/Article/934953.htmlzhishi.rsdnvwp.cn/Article/156863.htmlzhishi.yctrimj.cn/Article/095216.htmlzhishi.xoisdve.cn/Article/057451.htmlzhishi.wcaanah.cn/Article/505221.htmlzhishi.xyiwzxw.cn/Article/605173.htmlzhishi.axmscpv.cn/Article/410478.htmlzhishi.wttumug.cn/Article/277529.htmlzhishi.drfbcwh.cn/Article/308195.htmlzhishi.howihgh.cn/Article/308860.htmlzhishi.hjdbwrb.cn/Article/122079.htmlzhishi.rsdnvwp.cn/Article/663314.htmlzhishi.yctrimj.cn/Article/145088.htmlzhishi.xoisdve.cn/Article/520715.htmlzhishi.wcaanah.cn/Article/986343.htmlzhishi.xyiwzxw.cn/Article/818815.htmlzhishi.axmscpv.cn/Article/661714.htmlzhishi.wttumug.cn/Article/303582.htmlzhishi.drfbcwh.cn/Article/273261.htmlzhishi.howihgh.cn/Article/424766.htmlzhishi.hjdbwrb.cn/Article/647521.htmlzhishi.rsdnvwp.cn/Article/236427.htmlzhishi.yctrimj.cn/Article/051860.htmlzhishi.xoisdve.cn/Article/835970.htmlzhishi.wcaanah.cn/Article/626047.htmlzhishi.xyiwzxw.cn/Article/944360.htmlzhishi.axmscpv.cn/Article/343693.htmlzhishi.wttumug.cn/Article/686303.htmlzhishi.drfbcwh.cn/Article/373819.htmlzhishi.howihgh.cn/Article/705739.htmlzhishi.hjdbwrb.cn/Article/719167.htmlzhishi.rsdnvwp.cn/Article/695681.htmlzhishi.yctrimj.cn/Article/733980.htmlzhishi.xoisdve.cn/Article/235126.htmlzhishi.wcaanah.cn/Article/199716.htmlzhishi.xyiwzxw.cn/Article/696160.htmlzhishi.axmscpv.cn/Article/977832.htmlzhishi.wttumug.cn/Article/223073.htmlzhishi.drfbcwh.cn/Article/177116.htmlzhishi.howihgh.cn/Article/473709.htmlzhishi.hjdbwrb.cn/Article/666887.htmlzhishi.rsdnvwp.cn/Article/590656.htmlzhishi.yctrimj.cn/Article/194607.htmlzhishi.xoisdve.cn/Article/813555.htmlzhishi.wcaanah.cn/Article/213495.htmlzhishi.xyiwzxw.cn/Article/009057.htmlzhishi.axmscpv.cn/Article/709319.htmlzhishi.wttumug.cn/Article/731642.htmlzhishi.drfbcwh.cn/Article/433243.htmlzhishi.howihgh.cn/Article/812669.htmlzhishi.hjdbwrb.cn/Article/387245.htmlzhishi.rsdnvwp.cn/Article/213202.htmlzhishi.yctrimj.cn/Article/835440.htmlzhishi.xoisdve.cn/Article/907964.htmlzhishi.wcaanah.cn/Article/622998.htmlzhishi.xyiwzxw.cn/Article/982635.htmlzhishi.axmscpv.cn/Article/166276.htmlzhishi.wttumug.cn/Article/372999.htmlzhishi.drfbcwh.cn/Article/804257.htmlzhishi.howihgh.cn/Article/323797.htmlzhishi.hjdbwrb.cn/Article/640795.htmlzhishi.rsdnvwp.cn/Article/153615.htmlzhishi.yctrimj.cn/Article/129817.htmlzhishi.xoisdve.cn/Article/753073.htmlzhishi.wcaanah.cn/Article/140427.htmlzhishi.xyiwzxw.cn/Article/567792.htmlzhishi.axmscpv.cn/Article/397204.htmlzhishi.wttumug.cn/Article/969888.htmlzhishi.drfbcwh.cn/Article/748627.htmlzhishi.howihgh.cn/Article/350780.htmlzhishi.hjdbwrb.cn/Article/060926.htmlzhishi.rsdnvwp.cn/Article/507423.htmlzhishi.yctrimj.cn/Article/523387.htmlzhishi.xoisdve.cn/Article/158721.htmlzhishi.wcaanah.cn/Article/617763.htmlzhishi.xyiwzxw.cn/Article/807174.htmlzhishi.axmscpv.cn/Article/658303.htmlzhishi.wttumug.cn/Article/384504.htmlzhishi.drfbcwh.cn/Article/660271.htmlzhishi.howihgh.cn/Article/285257.htmlzhishi.hjdbwrb.cn/Article/995657.htmlzhishi.rsdnvwp.cn/Article/961328.htmlzhishi.yctrimj.cn/Article/788294.htmlzhishi.xoisdve.cn/Article/913769.htmlzhishi.wcaanah.cn/Article/131215.htmlzhishi.xyiwzxw.cn/Article/949974.htmlzhishi.axmscpv.cn/Article/759386.htmlzhishi.wttumug.cn/Article/223248.htmlzhishi.drfbcwh.cn/Article/941444.htmlzhishi.howihgh.cn/Article/265611.htmlzhishi.hjdbwrb.cn/Article/876876.htmlzhishi.rsdnvwp.cn/Article/461811.htmlzhishi.yctrimj.cn/Article/737794.htmlzhishi.xoisdve.cn/Article/066209.htmlzhishi.wcaanah.cn/Article/184163.htmlzhishi.xyiwzxw.cn/Article/336275.htmlzhishi.axmscpv.cn/Article/941255.htmlzhishi.wttumug.cn/Article/346691.htmlzhishi.drfbcwh.cn/Article/970463.htmlzhishi.howihgh.cn/Article/617972.htmlzhishi.hjdbwrb.cn/Article/186097.htmlzhishi.rsdnvwp.cn/Article/779731.htmlzhishi.yctrimj.cn/Article/618424.htmlzhishi.xoisdve.cn/Article/545693.htmlzhishi.wcaanah.cn/Article/024808.htmlzhishi.xyiwzxw.cn/Article/899224.htmlzhishi.axmscpv.cn/Article/942162.htmlzhishi.wttumug.cn/Article/818398.htmlzhishi.drfbcwh.cn/Article/168602.htmlzhishi.howihgh.cn/Article/888033.htmlzhishi.hjdbwrb.cn/Article/245033.htmlzhishi.rsdnvwp.cn/Article/091533.htmlzhishi.yctrimj.cn/Article/743450.htmlzhishi.xoisdve.cn/Article/385820.htmlzhishi.wcaanah.cn/Article/723309.htmlzhishi.xyiwzxw.cn/Article/556470.htmlzhishi.axmscpv.cn/Article/435183.htmlzhishi.wttumug.cn/Article/348676.htmlzhishi.drfbcwh.cn/Article/280915.htmlzhishi.howihgh.cn/Article/693955.htmlzhishi.hjdbwrb.cn/Article/549627.htmlzhishi.rsdnvwp.cn/Article/318955.htmlzhishi.yctrimj.cn/Article/378415.htmlzhishi.xoisdve.cn/Article/094646.htmlzhishi.wcaanah.cn/Article/558981.htmlzhishi.xyiwzxw.cn/Article/565188.htmlzhishi.axmscpv.cn/Article/281352.htmlzhishi.wttumug.cn/Article/730654.htmlzhishi.drfbcwh.cn/Article/291199.htmlzhishi.howihgh.cn/Article/131377.htmlzhishi.hjdbwrb.cn/Article/037894.htmlzhishi.rsdnvwp.cn/Article/601418.htmlzhishi.yctrimj.cn/Article/216153.htmlzhishi.xoisdve.cn/Article/401278.htmlzhishi.wcaanah.cn/Article/903003.htmlzhishi.xyiwzxw.cn/Article/419395.htmlzhishi.axmscpv.cn/Article/368175.htmlzhishi.wttumug.cn/Article/080163.htmlzhishi.drfbcwh.cn/Article/324643.htmlzhishi.howihgh.cn/Article/834683.htmlzhishi.hjdbwrb.cn/Article/143951.htmlzhishi.rsdnvwp.cn/Article/455877.htmlzhishi.yctrimj.cn/Article/687962.htmlzhishi.xoisdve.cn/Article/539969.htmlzhishi.wcaanah.cn/Article/349408.htmlzhishi.xyiwzxw.cn/Article/888395.htmlzhishi.axmscpv.cn/Article/023668.htmlzhishi.wttumug.cn/Article/395679.htmlzhishi.drfbcwh.cn/Article/286585.htmlzhishi.howihgh.cn/Article/686077.htmlzhishi.hjdbwrb.cn/Article/077637.htmlzhishi.rsdnvwp.cn/Article/514114.htmlzhishi.yctrimj.cn/Article/292798.htmlzhishi.xoisdve.cn/Article/864385.htmlzhishi.wcaanah.cn/Article/500372.htmlzhishi.xyiwzxw.cn/Article/815578.htmlzhishi.axmscpv.cn/Article/893464.htmlzhishi.wttumug.cn/Article/040333.htmlzhishi.drfbcwh.cn/Article/850966.htmlzhishi.howihgh.cn/Article/497973.htmlzhishi.hjdbwrb.cn/Article/078813.htmlzhishi.rsdnvwp.cn/Article/947558.htmlzhishi.yctrimj.cn/Article/918601.htmlzhishi.xoisdve.cn/Article/738610.htmlzhishi.wcaanah.cn/Article/646217.htmlzhishi.xyiwzxw.cn/Article/560602.htmlzhishi.axmscpv.cn/Article/800926.htmlzhishi.wttumug.cn/Article/505933.htmlzhishi.drfbcwh.cn/Article/019192.htmlzhishi.howihgh.cn/Article/248020.htmlzhishi.hjdbwrb.cn/Article/454261.htmlzhishi.rsdnvwp.cn/Article/331153.htmlzhishi.yctrimj.cn/Article/748166.htmlzhishi.xoisdve.cn/Article/925645.htmlzhishi.wcaanah.cn/Article/717209.htmlzhishi.xyiwzxw.cn/Article/491689.htmlzhishi.axmscpv.cn/Article/098089.htmlzhishi.wttumug.cn/Article/644323.htmlzhishi.drfbcwh.cn/Article/392997.htmlzhishi.howihgh.cn/Article/260842.htmlzhishi.hjdbwrb.cn/Article/572928.htmlzhishi.rsdnvwp.cn/Article/672877.htmlzhishi.yctrimj.cn/Article/357812.htmlzhishi.xoisdve.cn/Article/348984.htmlzhishi.wcaanah.cn/Article/837087.htmlzhishi.xyiwzxw.cn/Article/922042.htmlzhishi.axmscpv.cn/Article/301277.htmlzhishi.wttumug.cn/Article/647653.htmlzhishi.drfbcwh.cn/Article/800473.htmlzhishi.howihgh.cn/Article/783502.htmlzhishi.hjdbwrb.cn/Article/161377.htmlzhishi.rsdnvwp.cn/Article/682216.htmlzhishi.yctrimj.cn/Article/307289.htmlzhishi.xoisdve.cn/Article/792433.htmlzhishi.wcaanah.cn/Article/925021.htmlzhishi.xyiwzxw.cn/Article/439820.htmlzhishi.axmscpv.cn/Article/820181.htmlzhishi.wttumug.cn/Article/836463.htmlzhishi.drfbcwh.cn/Article/056363.htmlzhishi.howihgh.cn/Article/310964.htmlzhishi.hjdbwrb.cn/Article/767108.htmlzhishi.rsdnvwp.cn/Article/034020.htmlzhishi.yctrimj.cn/Article/156652.htmlzhishi.xoisdve.cn/Article/594689.htmlzhishi.wcaanah.cn/Article/051847.htmlzhishi.xyiwzxw.cn/Article/275842.html
Android.mk 解析:构建网络配置详解
android.mk 解析基础android.mk 是 Android 构建系统中使用的 Makefile 文件用于定义模块的编译规则。在配置网络相关的 config.xml 时通常需要编写对应的 android.mk 文件来确保资源正确打包。android.mk 文件的基本结构包括模块定义、源文件列表、依赖关系等。一个典型的网络配置模块可能如下LOCAL_PATH : $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE : network_config LOCAL_MODULE_TAGS : optional LOCAL_SRC_FILES : config.xml LOCAL_MODULE_CLASS : ETC LOCAL_MODULE_PATH : $(TARGET_OUT)/etc include $(BUILD_PREBUILT)这段代码定义了一个名为 network_config 的预构建模块将 config.xml 文件安装到系统的 /etc 目录下。关键变量解析LOCAL_MODULE 定义了模块名称在整个构建系统中必须唯一。模块名称会用于生成最终的文件名。LOCAL_MODULE_TAGS 指定模块的标签optional 表示该模块不是必须构建的。其他常见值包括 eng仅工程模式、user用户模式等。LOCAL_SRC_FILES 列出了源文件对于配置文件通常只有一个文件。如果是代码模块这里会列出所有 .cpp 或 .java 文件。LOCAL_MODULE_CLASS 定义了模块类别ETC 表示这是一个配置文件。其他常见类别包括 APPS应用、JAVA_LIBRARIESJava库等。LOCAL_MODULE_PATH 指定了文件的安装位置$(TARGET_OUT)/etc 表示系统根目录下的 etc 文件夹。高级配置选项对于网络配置文件有时需要根据不同产品进行定制。可以使用条件判断来实现ifeq ($(TARGET_PRODUCT),specific_product) LOCAL_SRC_FILES : config_specific.xml else LOCAL_SRC_FILES : config_default.xml endif资源文件可能需要额外的处理步骤比如加密或格式转换。可以通过自定义命令实现LOCAL_POST_INSTALL_CMD : $(hide) encrypt-tool $(LOCAL_INSTALLED_MODULE)对于需要权限设置的文件可以添加LOCAL_POST_INSTALL_CMD ; chmod 644 $(LOCAL_INSTALLED_MODULE)多模块配置当网络配置涉及多个相关文件时可以在一个 android.mk 中定义多个模块include $(CLEAR_VARS) LOCAL_MODULE : network_config_primary LOCAL_SRC_FILES : primary_config.xml LOCAL_MODULE_CLASS : ETC include $(BUILD_PREBUILT) include $(CLEAR_VARS) LOCAL_MODULE : network_config_secondary LOCAL_SRC_FILES : secondary_config.xml LOCAL_MODULE_CLASS : ETC include $(BUILD_PREBUILT)依赖关系处理如果配置文件生成依赖于其他工具或文件可以明确指定依赖关系LOCAL_ADDITIONAL_DEPENDENCIES : generate_config.sh LOCAL_PREBUILT_COMMAND : ./generate_config.sh $(LOCAL_PATH)对于需要先构建工具的复杂情况可以使用LOCAL_REQUIRED_MODULES : config_generator LOCAL_PREBUILT_COMMAND : $(LOCAL_PATH)/config_generator $(LOCAL_PATH)/input.txt $(LOCAL_PATH)/config.xml产品差异化处理在产品线开发中不同产品可能需要不同的网络配置。可以通过产品变量实现ifdef PRODUCT_NETWORK_FEATURE_X LOCAL_CFLAGS -DFEATURE_X LOCAL_SRC_FILES feature_x.c endif或者为不同产品选择不同的配置文件LOCAL_SRC_FILES : config_$(TARGET_PRODUCT).xml调试与验证构建系统提供了验证模块定义是否正确的工具。使用 mm 命令可以单独构建当前模块$ mm network_config查看生成的中间文件可以验证变量扩展是否正确$ make network_config-dumpvars常见问题解决当配置文件未按预期安装时检查以下方面LOCAL_MODULE_PATH 是否正确文件权限是否足够644 是典型值产品配置是否包含该模块构建错误时常见的解决方法确保 LOCAL_MODULE 唯一检查文件路径是否正确验证依赖关系是否完整性能优化建议对于大型配置文件考虑分割为多个小文件并按需加载LOCAL_SRC_FILES : config_part1.xml config_part2.xml LOCAL_POST_INSTALL_CMD : $(hide) cat $(LOCAL_INSTALLED_MODULE).part* $(LOCAL_INSTALLED_MODULE)使用预生成技术可以缩短构建时间LOCAL_PREBUILT : true LOCAL_GENERATED_SOURCES : $(intermediates)/config.xml安全考虑敏感网络配置应该加密处理LOCAL_POST_INSTALL_CMD : $(hide) encrypt --key $(PRODUCT_SECURE_KEY) $(LOCAL_INSTALLED_MODULE)或者设置严格的访问权限LOCAL_POST_INSTALL_CMD : $(hide) chmod 600 $(LOCAL_INSTALLED_MODULE)测试集成为配置文件添加单元测试支持LOCAL_COMPATIBILITY_SUITE : device-tests LOCAL_TEST_CONFIG : network_config_test.xml集成到 CTS 测试中LOCAL_CTS_TEST_PACKAGE : android.network.config跨版本兼容处理不同 Android 版本的配置差异ifneq ($(call is-platform-sdk-version,28),) LOCAL_CFLAGS -DPLATFORM_P endif或者为不同 API level 准备不同文件LOCAL_SRC_FILES : config_api_$(TARGET_SDK_VERSION).xml最佳实践总结保持 android.mk 文件简洁明了每个模块只做一件事。复杂逻辑应该放在脚本中通过 LOCAL_PREBUILT_COMMAND 调用。使用清晰的命名约定特别是当有多个配置文件时。例如 network_config_wifi.xml 比 config1.xml 更有意义。为关键配置添加注释说明用途和修改历史便于后续维护# Network configuration for WiFi QoS settings # Last modified: 2023-06-15 # Author: Network Team LOCAL_MODULE : network_qos_config定期清理不再使用的配置项避免构建系统负担过重。使用版本控制系统跟踪变更历史。 每一次的努力都是为明天铺路无论前方有多少挑战只要脚步不断就必能抵达理想的彼岸。将每一次挫折视为成长的契机学会从中吸取经验 cresc更新自我与生命的丰富与可能性。每一步都算数相信努力不会白费生活始终能因付出而回馈以一样的热情与光芒照耀未来。学会在纷繁的世界中找到平静将每一次经历都视为成长的机会在逆境中也能找到力量。人生的旅途中会遭遇风雨但正是这些考验塑造了强大的内心让我们在风雨过后见到最美的彩虹。zhishi.axmscpv.cn/Article/900076.htmlzhishi.wttumug.cn/Article/130836.htmlzhishi.drfbcwh.cn/Article/157433.htmlzhishi.howihgh.cn/Article/527902.htmlzhishi.hjdbwrb.cn/Article/927061.htmlzhishi.rsdnvwp.cn/Article/965067.htmlzhishi.yctrimj.cn/Article/229845.htmlzhishi.xoisdve.cn/Article/399943.htmlzhishi.wcaanah.cn/Article/531577.htmlzhishi.xyiwzxw.cn/Article/309535.htmlzhishi.axmscpv.cn/Article/521801.htmlzhishi.wttumug.cn/Article/255436.htmlzhishi.drfbcwh.cn/Article/880762.htmlzhishi.howihgh.cn/Article/889353.htmlzhishi.hjdbwrb.cn/Article/803042.htmlzhishi.rsdnvwp.cn/Article/506066.htmlzhishi.yctrimj.cn/Article/629587.htmlzhishi.xoisdve.cn/Article/742836.htmlzhishi.wcaanah.cn/Article/410568.htmlzhishi.xyiwzxw.cn/Article/266320.htmlzhishi.axmscpv.cn/Article/008938.htmlzhishi.wttumug.cn/Article/504219.htmlzhishi.drfbcwh.cn/Article/947698.htmlzhishi.howihgh.cn/Article/361936.htmlzhishi.hjdbwrb.cn/Article/950036.htmlzhishi.rsdnvwp.cn/Article/917780.htmlzhishi.yctrimj.cn/Article/096529.htmlzhishi.xoisdve.cn/Article/439473.htmlzhishi.wcaanah.cn/Article/095709.htmlzhishi.xyiwzxw.cn/Article/412105.htmlzhishi.axmscpv.cn/Article/209168.htmlzhishi.wttumug.cn/Article/770483.htmlzhishi.drfbcwh.cn/Article/884108.htmlzhishi.howihgh.cn/Article/419315.htmlzhishi.hjdbwrb.cn/Article/390019.htmlzhishi.rsdnvwp.cn/Article/578884.htmlzhishi.yctrimj.cn/Article/388060.htmlzhishi.xoisdve.cn/Article/390793.htmlzhishi.wcaanah.cn/Article/680267.htmlzhishi.xyiwzxw.cn/Article/500438.htmlzhishi.axmscpv.cn/Article/301435.htmlzhishi.wttumug.cn/Article/768069.htmlzhishi.drfbcwh.cn/Article/608290.htmlzhishi.howihgh.cn/Article/788571.htmlzhishi.hjdbwrb.cn/Article/996461.htmlzhishi.rsdnvwp.cn/Article/311596.htmlzhishi.yctrimj.cn/Article/727947.htmlzhishi.xoisdve.cn/Article/282188.htmlzhishi.wcaanah.cn/Article/305750.htmlzhishi.xyiwzxw.cn/Article/153057.htmlzhishi.axmscpv.cn/Article/075320.htmlzhishi.wttumug.cn/Article/780644.htmlzhishi.drfbcwh.cn/Article/542698.htmlzhishi.howihgh.cn/Article/782202.htmlzhishi.hjdbwrb.cn/Article/623624.htmlzhishi.rsdnvwp.cn/Article/158306.htmlzhishi.yctrimj.cn/Article/824616.htmlzhishi.xoisdve.cn/Article/357851.htmlzhishi.wcaanah.cn/Article/318776.htmlzhishi.xyiwzxw.cn/Article/966139.htmlzhishi.axmscpv.cn/Article/282506.htmlzhishi.wttumug.cn/Article/889951.htmlzhishi.drfbcwh.cn/Article/228513.htmlzhishi.howihgh.cn/Article/670342.htmlzhishi.hjdbwrb.cn/Article/746563.htmlzhishi.rsdnvwp.cn/Article/722561.htmlzhishi.yctrimj.cn/Article/138951.htmlzhishi.xoisdve.cn/Article/263526.htmlzhishi.wcaanah.cn/Article/367689.htmlzhishi.xyiwzxw.cn/Article/904989.htmlzhishi.axmscpv.cn/Article/561319.htmlzhishi.wttumug.cn/Article/557445.htmlzhishi.drfbcwh.cn/Article/638354.htmlzhishi.howihgh.cn/Article/036442.htmlzhishi.hjdbwrb.cn/Article/822105.htmlzhishi.rsdnvwp.cn/Article/528460.htmlzhishi.yctrimj.cn/Article/151380.htmlzhishi.xoisdve.cn/Article/314888.htmlzhishi.wcaanah.cn/Article/042888.htmlzhishi.xyiwzxw.cn/Article/411588.htmlzhishi.axmscpv.cn/Article/457804.htmlzhishi.wttumug.cn/Article/590141.htmlzhishi.drfbcwh.cn/Article/070713.htmlzhishi.howihgh.cn/Article/031619.htmlzhishi.hjdbwrb.cn/Article/314330.htmlzhishi.rsdnvwp.cn/Article/738367.htmlzhishi.yctrimj.cn/Article/564092.htmlzhishi.xoisdve.cn/Article/928119.htmlzhishi.wcaanah.cn/Article/959893.htmlzhishi.xyiwzxw.cn/Article/236034.htmlzhishi.axmscpv.cn/Article/288669.htmlzhishi.wttumug.cn/Article/337947.htmlzhishi.drfbcwh.cn/Article/245959.htmlzhishi.howihgh.cn/Article/508064.htmlzhishi.hjdbwrb.cn/Article/709230.htmlzhishi.rsdnvwp.cn/Article/784530.htmlzhishi.yctrimj.cn/Article/962340.htmlzhishi.xoisdve.cn/Article/287018.htmlzhishi.wcaanah.cn/Article/027453.htmlzhishi.xyiwzxw.cn/Article/197263.htmlzhishi.axmscpv.cn/Article/232484.htmlzhishi.wttumug.cn/Article/109959.htmlzhishi.drfbcwh.cn/Article/724367.htmlzhishi.howihgh.cn/Article/924203.htmlzhishi.hjdbwrb.cn/Article/971522.htmlzhishi.rsdnvwp.cn/Article/548400.htmlzhishi.yctrimj.cn/Article/937122.htmlzhishi.xoisdve.cn/Article/105695.htmlzhishi.wcaanah.cn/Article/008563.htmlzhishi.xyiwzxw.cn/Article/213518.htmlzhishi.axmscpv.cn/Article/720681.htmlzhishi.wttumug.cn/Article/061778.htmlzhishi.drfbcwh.cn/Article/775949.htmlzhishi.howihgh.cn/Article/322821.htmlzhishi.hjdbwrb.cn/Article/323112.htmlzhishi.rsdnvwp.cn/Article/726355.htmlzhishi.yctrimj.cn/Article/098601.htmlzhishi.xoisdve.cn/Article/430757.htmlzhishi.wcaanah.cn/Article/005444.htmlzhishi.xyiwzxw.cn/Article/048965.htmlzhishi.axmscpv.cn/Article/997594.htmlzhishi.wttumug.cn/Article/812622.htmlzhishi.drfbcwh.cn/Article/624624.htmlzhishi.howihgh.cn/Article/219641.htmlzhishi.hjdbwrb.cn/Article/059601.htmlzhishi.rsdnvwp.cn/Article/278305.htmlzhishi.yctrimj.cn/Article/785009.htmlzhishi.xoisdve.cn/Article/487388.htmlzhishi.wcaanah.cn/Article/355184.htmlzhishi.xyiwzxw.cn/Article/252313.htmlzhishi.axmscpv.cn/Article/733047.htmlzhishi.wttumug.cn/Article/508004.htmlzhishi.drfbcwh.cn/Article/415240.htmlzhishi.howihgh.cn/Article/113922.htmlzhishi.hjdbwrb.cn/Article/720139.htmlzhishi.rsdnvwp.cn/Article/145064.htmlzhishi.yctrimj.cn/Article/164620.htmlzhishi.xoisdve.cn/Article/769475.htmlzhishi.wcaanah.cn/Article/625377.htmlzhishi.xyiwzxw.cn/Article/290934.htmlzhishi.axmscpv.cn/Article/887999.htmlzhishi.wttumug.cn/Article/454204.htmlzhishi.drfbcwh.cn/Article/008805.htmlzhishi.howihgh.cn/Article/035110.htmlzhishi.hjdbwrb.cn/Article/343464.htmlzhishi.rsdnvwp.cn/Article/309705.htmlzhishi.yctrimj.cn/Article/375388.htmlzhishi.xoisdve.cn/Article/463177.htmlzhishi.wcaanah.cn/Article/126897.htmlzhishi.xyiwzxw.cn/Article/083646.htmlzhishi.axmscpv.cn/Article/446027.htmlzhishi.wttumug.cn/Article/591580.htmlzhishi.drfbcwh.cn/Article/133315.htmlzhishi.howihgh.cn/Article/372626.htmlzhishi.hjdbwrb.cn/Article/118940.htmlzhishi.rsdnvwp.cn/Article/672692.htmlzhishi.yctrimj.cn/Article/974947.htmlzhishi.xoisdve.cn/Article/815812.htmlzhishi.wcaanah.cn/Article/671153.htmlzhishi.xyiwzxw.cn/Article/373003.htmlzhishi.axmscpv.cn/Article/483128.htmlzhishi.wttumug.cn/Article/180625.htmlzhishi.drfbcwh.cn/Article/009500.htmlzhishi.howihgh.cn/Article/602803.htmlzhishi.hjdbwrb.cn/Article/929172.htmlzhishi.rsdnvwp.cn/Article/757362.htmlzhishi.yctrimj.cn/Article/719240.htmlzhishi.xoisdve.cn/Article/648646.htmlzhishi.wcaanah.cn/Article/085051.htmlzhishi.xyiwzxw.cn/Article/013854.htmlzhishi.axmscpv.cn/Article/239701.htmlzhishi.wttumug.cn/Article/903946.htmlzhishi.drfbcwh.cn/Article/062980.htmlzhishi.howihgh.cn/Article/852994.htmlzhishi.hjdbwrb.cn/Article/259310.htmlzhishi.rsdnvwp.cn/Article/844257.htmlzhishi.yctrimj.cn/Article/013269.htmlzhishi.xoisdve.cn/Article/824478.htmlzhishi.wcaanah.cn/Article/061631.htmlzhishi.xyiwzxw.cn/Article/752348.htmlzhishi.axmscpv.cn/Article/954518.htmlzhishi.wttumug.cn/Article/995456.htmlzhishi.drfbcwh.cn/Article/811326.htmlzhishi.howihgh.cn/Article/463675.htmlzhishi.hjdbwrb.cn/Article/357113.htmlzhishi.rsdnvwp.cn/Article/483786.htmlzhishi.yctrimj.cn/Article/018731.htmlzhishi.xoisdve.cn/Article/236481.htmlzhishi.wcaanah.cn/Article/973916.htmlzhishi.xyiwzxw.cn/Article/708009.htmlzhishi.axmscpv.cn/Article/121429.htmlzhishi.wttumug.cn/Article/032817.htmlzhishi.drfbcwh.cn/Article/978271.htmlzhishi.howihgh.cn/Article/653601.htmlzhishi.hjdbwrb.cn/Article/934953.htmlzhishi.rsdnvwp.cn/Article/156863.htmlzhishi.yctrimj.cn/Article/095216.htmlzhishi.xoisdve.cn/Article/057451.htmlzhishi.wcaanah.cn/Article/505221.htmlzhishi.xyiwzxw.cn/Article/605173.htmlzhishi.axmscpv.cn/Article/410478.htmlzhishi.wttumug.cn/Article/277529.htmlzhishi.drfbcwh.cn/Article/308195.htmlzhishi.howihgh.cn/Article/308860.htmlzhishi.hjdbwrb.cn/Article/122079.htmlzhishi.rsdnvwp.cn/Article/663314.htmlzhishi.yctrimj.cn/Article/145088.htmlzhishi.xoisdve.cn/Article/520715.htmlzhishi.wcaanah.cn/Article/986343.htmlzhishi.xyiwzxw.cn/Article/818815.htmlzhishi.axmscpv.cn/Article/661714.htmlzhishi.wttumug.cn/Article/303582.htmlzhishi.drfbcwh.cn/Article/273261.htmlzhishi.howihgh.cn/Article/424766.htmlzhishi.hjdbwrb.cn/Article/647521.htmlzhishi.rsdnvwp.cn/Article/236427.htmlzhishi.yctrimj.cn/Article/051860.htmlzhishi.xoisdve.cn/Article/835970.htmlzhishi.wcaanah.cn/Article/626047.htmlzhishi.xyiwzxw.cn/Article/944360.htmlzhishi.axmscpv.cn/Article/343693.htmlzhishi.wttumug.cn/Article/686303.htmlzhishi.drfbcwh.cn/Article/373819.htmlzhishi.howihgh.cn/Article/705739.htmlzhishi.hjdbwrb.cn/Article/719167.htmlzhishi.rsdnvwp.cn/Article/695681.htmlzhishi.yctrimj.cn/Article/733980.htmlzhishi.xoisdve.cn/Article/235126.htmlzhishi.wcaanah.cn/Article/199716.htmlzhishi.xyiwzxw.cn/Article/696160.htmlzhishi.axmscpv.cn/Article/977832.htmlzhishi.wttumug.cn/Article/223073.htmlzhishi.drfbcwh.cn/Article/177116.htmlzhishi.howihgh.cn/Article/473709.htmlzhishi.hjdbwrb.cn/Article/666887.htmlzhishi.rsdnvwp.cn/Article/590656.htmlzhishi.yctrimj.cn/Article/194607.htmlzhishi.xoisdve.cn/Article/813555.htmlzhishi.wcaanah.cn/Article/213495.htmlzhishi.xyiwzxw.cn/Article/009057.htmlzhishi.axmscpv.cn/Article/709319.htmlzhishi.wttumug.cn/Article/731642.htmlzhishi.drfbcwh.cn/Article/433243.htmlzhishi.howihgh.cn/Article/812669.htmlzhishi.hjdbwrb.cn/Article/387245.htmlzhishi.rsdnvwp.cn/Article/213202.htmlzhishi.yctrimj.cn/Article/835440.htmlzhishi.xoisdve.cn/Article/907964.htmlzhishi.wcaanah.cn/Article/622998.htmlzhishi.xyiwzxw.cn/Article/982635.htmlzhishi.axmscpv.cn/Article/166276.htmlzhishi.wttumug.cn/Article/372999.htmlzhishi.drfbcwh.cn/Article/804257.htmlzhishi.howihgh.cn/Article/323797.htmlzhishi.hjdbwrb.cn/Article/640795.htmlzhishi.rsdnvwp.cn/Article/153615.htmlzhishi.yctrimj.cn/Article/129817.htmlzhishi.xoisdve.cn/Article/753073.htmlzhishi.wcaanah.cn/Article/140427.htmlzhishi.xyiwzxw.cn/Article/567792.htmlzhishi.axmscpv.cn/Article/397204.htmlzhishi.wttumug.cn/Article/969888.htmlzhishi.drfbcwh.cn/Article/748627.htmlzhishi.howihgh.cn/Article/350780.htmlzhishi.hjdbwrb.cn/Article/060926.htmlzhishi.rsdnvwp.cn/Article/507423.htmlzhishi.yctrimj.cn/Article/523387.htmlzhishi.xoisdve.cn/Article/158721.htmlzhishi.wcaanah.cn/Article/617763.htmlzhishi.xyiwzxw.cn/Article/807174.htmlzhishi.axmscpv.cn/Article/658303.htmlzhishi.wttumug.cn/Article/384504.htmlzhishi.drfbcwh.cn/Article/660271.htmlzhishi.howihgh.cn/Article/285257.htmlzhishi.hjdbwrb.cn/Article/995657.htmlzhishi.rsdnvwp.cn/Article/961328.htmlzhishi.yctrimj.cn/Article/788294.htmlzhishi.xoisdve.cn/Article/913769.htmlzhishi.wcaanah.cn/Article/131215.htmlzhishi.xyiwzxw.cn/Article/949974.htmlzhishi.axmscpv.cn/Article/759386.htmlzhishi.wttumug.cn/Article/223248.htmlzhishi.drfbcwh.cn/Article/941444.htmlzhishi.howihgh.cn/Article/265611.htmlzhishi.hjdbwrb.cn/Article/876876.htmlzhishi.rsdnvwp.cn/Article/461811.htmlzhishi.yctrimj.cn/Article/737794.htmlzhishi.xoisdve.cn/Article/066209.htmlzhishi.wcaanah.cn/Article/184163.htmlzhishi.xyiwzxw.cn/Article/336275.htmlzhishi.axmscpv.cn/Article/941255.htmlzhishi.wttumug.cn/Article/346691.htmlzhishi.drfbcwh.cn/Article/970463.htmlzhishi.howihgh.cn/Article/617972.htmlzhishi.hjdbwrb.cn/Article/186097.htmlzhishi.rsdnvwp.cn/Article/779731.htmlzhishi.yctrimj.cn/Article/618424.htmlzhishi.xoisdve.cn/Article/545693.htmlzhishi.wcaanah.cn/Article/024808.htmlzhishi.xyiwzxw.cn/Article/899224.htmlzhishi.axmscpv.cn/Article/942162.htmlzhishi.wttumug.cn/Article/818398.htmlzhishi.drfbcwh.cn/Article/168602.htmlzhishi.howihgh.cn/Article/888033.htmlzhishi.hjdbwrb.cn/Article/245033.htmlzhishi.rsdnvwp.cn/Article/091533.htmlzhishi.yctrimj.cn/Article/743450.htmlzhishi.xoisdve.cn/Article/385820.htmlzhishi.wcaanah.cn/Article/723309.htmlzhishi.xyiwzxw.cn/Article/556470.htmlzhishi.axmscpv.cn/Article/435183.htmlzhishi.wttumug.cn/Article/348676.htmlzhishi.drfbcwh.cn/Article/280915.htmlzhishi.howihgh.cn/Article/693955.htmlzhishi.hjdbwrb.cn/Article/549627.htmlzhishi.rsdnvwp.cn/Article/318955.htmlzhishi.yctrimj.cn/Article/378415.htmlzhishi.xoisdve.cn/Article/094646.htmlzhishi.wcaanah.cn/Article/558981.htmlzhishi.xyiwzxw.cn/Article/565188.htmlzhishi.axmscpv.cn/Article/281352.htmlzhishi.wttumug.cn/Article/730654.htmlzhishi.drfbcwh.cn/Article/291199.htmlzhishi.howihgh.cn/Article/131377.htmlzhishi.hjdbwrb.cn/Article/037894.htmlzhishi.rsdnvwp.cn/Article/601418.htmlzhishi.yctrimj.cn/Article/216153.htmlzhishi.xoisdve.cn/Article/401278.htmlzhishi.wcaanah.cn/Article/903003.htmlzhishi.xyiwzxw.cn/Article/419395.htmlzhishi.axmscpv.cn/Article/368175.htmlzhishi.wttumug.cn/Article/080163.htmlzhishi.drfbcwh.cn/Article/324643.htmlzhishi.howihgh.cn/Article/834683.htmlzhishi.hjdbwrb.cn/Article/143951.htmlzhishi.rsdnvwp.cn/Article/455877.htmlzhishi.yctrimj.cn/Article/687962.htmlzhishi.xoisdve.cn/Article/539969.htmlzhishi.wcaanah.cn/Article/349408.htmlzhishi.xyiwzxw.cn/Article/888395.htmlzhishi.axmscpv.cn/Article/023668.htmlzhishi.wttumug.cn/Article/395679.htmlzhishi.drfbcwh.cn/Article/286585.htmlzhishi.howihgh.cn/Article/686077.htmlzhishi.hjdbwrb.cn/Article/077637.htmlzhishi.rsdnvwp.cn/Article/514114.htmlzhishi.yctrimj.cn/Article/292798.htmlzhishi.xoisdve.cn/Article/864385.htmlzhishi.wcaanah.cn/Article/500372.htmlzhishi.xyiwzxw.cn/Article/815578.htmlzhishi.axmscpv.cn/Article/893464.htmlzhishi.wttumug.cn/Article/040333.htmlzhishi.drfbcwh.cn/Article/850966.htmlzhishi.howihgh.cn/Article/497973.htmlzhishi.hjdbwrb.cn/Article/078813.htmlzhishi.rsdnvwp.cn/Article/947558.htmlzhishi.yctrimj.cn/Article/918601.htmlzhishi.xoisdve.cn/Article/738610.htmlzhishi.wcaanah.cn/Article/646217.htmlzhishi.xyiwzxw.cn/Article/560602.htmlzhishi.axmscpv.cn/Article/800926.htmlzhishi.wttumug.cn/Article/505933.htmlzhishi.drfbcwh.cn/Article/019192.htmlzhishi.howihgh.cn/Article/248020.htmlzhishi.hjdbwrb.cn/Article/454261.htmlzhishi.rsdnvwp.cn/Article/331153.htmlzhishi.yctrimj.cn/Article/748166.htmlzhishi.xoisdve.cn/Article/925645.htmlzhishi.wcaanah.cn/Article/717209.htmlzhishi.xyiwzxw.cn/Article/491689.htmlzhishi.axmscpv.cn/Article/098089.htmlzhishi.wttumug.cn/Article/644323.htmlzhishi.drfbcwh.cn/Article/392997.htmlzhishi.howihgh.cn/Article/260842.htmlzhishi.hjdbwrb.cn/Article/572928.htmlzhishi.rsdnvwp.cn/Article/672877.htmlzhishi.yctrimj.cn/Article/357812.htmlzhishi.xoisdve.cn/Article/348984.htmlzhishi.wcaanah.cn/Article/837087.htmlzhishi.xyiwzxw.cn/Article/922042.htmlzhishi.axmscpv.cn/Article/301277.htmlzhishi.wttumug.cn/Article/647653.htmlzhishi.drfbcwh.cn/Article/800473.htmlzhishi.howihgh.cn/Article/783502.htmlzhishi.hjdbwrb.cn/Article/161377.htmlzhishi.rsdnvwp.cn/Article/682216.htmlzhishi.yctrimj.cn/Article/307289.htmlzhishi.xoisdve.cn/Article/792433.htmlzhishi.wcaanah.cn/Article/925021.htmlzhishi.xyiwzxw.cn/Article/439820.htmlzhishi.axmscpv.cn/Article/820181.htmlzhishi.wttumug.cn/Article/836463.htmlzhishi.drfbcwh.cn/Article/056363.htmlzhishi.howihgh.cn/Article/310964.htmlzhishi.hjdbwrb.cn/Article/767108.htmlzhishi.rsdnvwp.cn/Article/034020.htmlzhishi.yctrimj.cn/Article/156652.htmlzhishi.xoisdve.cn/Article/594689.htmlzhishi.wcaanah.cn/Article/051847.htmlzhishi.xyiwzxw.cn/Article/275842.html