美文网首页
Python Learn-去除AOSP重复String

Python Learn-去除AOSP重复String

作者: 月止风溟 | 来源:发表于2019-03-17 17:41 被阅读0次

    Python Learn

    年后的话,一直在加班,赶项目,解bug,扯皮。有些感觉活得不真实,也许这就是生活吧。

    这个是在Aosp导入Android Studio,会有重复字串的问题。因为Android源码里,针对不同的设备有不同的string,源码编译不会有问题,导入Android Studio就会编译不过。所以看了看python,写个这个,当娱乐了。

    之前的OpenGL ES学习,尽量之后抽时间续写。

    1. 安装python环境

    windows 环境搭建基本都一样。
    这里就直接贴个链接好了。
    https://www.cnblogs.com/shizhijie/p/7768778.html
    如果在cmd里面敲入python,有版本信息打印就好了。

    2. hello world

    在cmd里面键入python,然后键入print('Hello world!')

    3. Pycharm

    python与java,c++这种高级语言不通,采用缩进的方式处理代码块。这个让我很不习惯。
    那么,需要写一个脚本的话,IDE还是能快速的帮助上手。python有IDE Pycharm。安装和破解教程我就不贴了。作为程序员最痛恨大家不尊重版权。但是在工作的时候又老是践踏版权。。。

    4.处理xml里面重复定义的string

    要分两步走。第一步,找到所有res/里面的strings.xml。第二步,解析xml并去重。
    去网上找一找,这里我使用os.walk()
    解析xml的话,因为stings.xml就一个层级,三种解析方式,我挑选了Element解析。
    然后试错,调试就行了。

    # Apache License Version 2.0
    # Version 1.0
    # Date 2019/03/17
    # Author SleepyDragon
    
    import xml.etree.ElementTree as ET
    import os
    import sys
    
    def changeXml(filePath):
        try:
            tree = ET.parse(filePath)
            root = tree.getroot()
            rootNew = ET.Element('resources')
            for child in root:
                productType = child.get('product', default='default')
                if (productType != 'default'):
                    print(child.text)
                    rootNew.append(child)
            for child in rootNew:
                root.remove(child)
            tree.write(filePath, 'UTF-8')
        except Exception as e:  
            print(e)
    
    def file_name(file_dir):
        for root, dirs, files in os.walk(file_dir):
            thePath = str(root)
            if thePath.startswith(".\\values"):
                print("find this "+thePath)
                changeXml(thePath + '\strings.xml')
                print("deal with "+thePath + '\strings.xml')
    
    
    file_name(".")
    

    相关文章

      网友评论

          本文标题:Python Learn-去除AOSP重复String

          本文链接:https://www.haomeiwen.com/subject/scgumqtx.html