croot如何在android中工作?另外,如何在python脚本中复制此功能?

2024-09-28 22:19:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在Android构建环境中找到一个给定名称的存储库的路径。在

目前我是这样做的:

  • croot(也许croot源代码可以帮助我找到在python中实现这一点的线索?)在
  • 六、回购/清单.xml在
  • grep获取存储库名称并找到其对应的路径
  • cd存储库路径

我想用python脚本实现这些步骤。 我想从任何地方取一个项目的名字,从这个系统中我可以得到一个叫Gerrit的系统。在

这个命令会把我带到项目目录。在

./test.py project_name

任何实现这一目标的想法或替代方法也会很有帮助。 提前谢谢!在


Tags: 项目路径脚本名称环境源代码系统地方
1条回答
网友
1楼 · 发布于 2024-09-28 22:19:56

好吧,这就成功了!在

import sys
import os
import xml.etree.ElementTree as ET

def main():
    project_name=str(sys.argv[1])
    top_dir=os.environ['ANDROID_BUILD_TOP']       # There is a global variable that is set
                                                  # that will help you do croot while 
                                                  # running in python shell.
    manifest_file='.repo/manifests.xml'

    os.chdir(top_dir)
    tree = ET.parse(manifest_file)
    root = tree.getroot()
    for project in root.findall('project'):
        if (project_name == project.get('name')):
            print project.get('path')
            exit()

if __name__ == "__main__":
    main()

唯一的问题是我不能直接cd到项目路径,因为您不能在退出时更改父目录。我想我可以接受。在

相关问题 更多 >