()
| 150 | } |
| 151 | |
| 152 | func Get_PackageInfos() *PackageInfos { |
| 153 | // https://zhuanlan.zhihu.com/p/31124919 |
| 154 | // /data/system/packages.list |
| 155 | content, err := ioutil.ReadFile("/data/system/packages.list") |
| 156 | if err != nil { |
| 157 | panic(err) |
| 158 | } |
| 159 | var pis PackageInfos |
| 160 | lines := strings.TrimSpace(string(content)) |
| 161 | for _, line := range strings.Split(lines, "\n") { |
| 162 | parts := strings.Split(line, " ") |
| 163 | value, err := strconv.ParseUint(parts[1], 10, 32) |
| 164 | if err != nil { |
| 165 | panic(err) |
| 166 | } |
| 167 | pis.items = append(pis.items, PackageInfo{parts[0], uint32(value)}) |
| 168 | } |
| 169 | return &pis |
| 170 | } |
| 171 | |
| 172 | func ReadMapsByPid(pid uint32) (string, error) { |
| 173 | filename := fmt.Sprintf("/proc/%d/maps", pid) |
no outgoing calls
no test coverage detected