app-info 3.2.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +2 -3
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +14 -1
- data/app_info.gemspec +5 -1
- data/lib/app_info/aab.rb +13 -3
- data/lib/app_info/android.rb +5 -0
- data/lib/app_info/apk.rb +8 -0
- data/lib/app_info/protobuf/manifest.rb +1 -1
- data/lib/app_info/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e1a690f39cd0bfe4c6fe3f5eee14f3cd0af7a5be9635875bb6bda0ca7fa1e47
|
4
|
+
data.tar.gz: c07b7ae5e8d2d995a5c1d32cc7e0de1fb5e6680450936c3e08344687ed14669f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9f5504987f1173bc82880b974f735fba28d352223f8940aea3e497cf7c2ba9350481c52a9ca95cd9b5fdd3d68d273947e6e50201834c61210a153b8d7554cdb
|
7
|
+
data.tar.gz: c43deb531c6fa974a5da4f0816526c099e7bd20f1d7cde286cb941df596e84932cddc044e403f3737124f2ab6b43f2250c840b6fac3fc339bfd17c452d560315
|
data/.github/workflows/ci.yml
CHANGED
@@ -30,13 +30,12 @@ jobs:
|
|
30
30
|
strategy:
|
31
31
|
fail-fast: false
|
32
32
|
matrix:
|
33
|
+
# https://endoflife.date/ruby
|
33
34
|
ruby: [ ruby-3.1, ruby-3.2, ruby-3.3 ]
|
34
|
-
experimental: [false]
|
35
|
+
experimental: [ false ]
|
35
36
|
include:
|
36
37
|
- ruby: head
|
37
38
|
experimental: true
|
38
|
-
- ruby: truffleruby-head
|
39
|
-
experimental: true
|
40
39
|
steps:
|
41
40
|
- uses: actions/checkout@v4
|
42
41
|
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -9,6 +9,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
9
9
|
|
10
10
|
> List all changes before release a new version.
|
11
11
|
|
12
|
+
## [3.3.1] (2025-04-27)
|
13
|
+
|
14
|
+
### Fixed
|
15
|
+
|
16
|
+
- Fix aab fetch label error.
|
17
|
+
|
18
|
+
## [3.3.0] (2024-11-27)
|
19
|
+
|
20
|
+
### Added
|
21
|
+
|
22
|
+
- Add `.native_codes` method for Android. #[79](https://github.com/icyleaf/app-info/pull/79)
|
23
|
+
|
12
24
|
## [3.2.0] (2024-09-09)
|
13
25
|
|
14
26
|
### Added
|
@@ -361,7 +373,8 @@ Dropped Ruby 2.5 ~ 3.0 support (no changes required.).
|
|
361
373
|
|
362
374
|
- Updated dependency of CFPropertly list be a range between 2.3.4. (thanks @[cschroed](https://github.com/cschroed))
|
363
375
|
|
364
|
-
[Unreleased]: https://github.com/icyleaf/app-info/compare/v3.
|
376
|
+
[Unreleased]: https://github.com/icyleaf/app-info/compare/v3.3.0..HEAD
|
377
|
+
[3.3.0]: https://github.com/icyleaf/app-info/compare/v3.2.0...v3.3.0
|
365
378
|
[3.2.0]: https://github.com/icyleaf/app-info/compare/v3.1.4...v3.2.0
|
366
379
|
[3.1.4]: https://github.com/icyleaf/app-info/compare/v3.1.2...v3.1.4
|
367
380
|
[3.1.2]: https://github.com/icyleaf/app-info/compare/v3.1.0...v3.1.2
|
data/app_info.gemspec
CHANGED
@@ -30,8 +30,12 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_dependency 'uuidtools', '>= 2.1.5', '< 2.3.0'
|
31
31
|
spec.add_dependency 'icns', '~> 0.2.0'
|
32
32
|
spec.add_dependency 'pedump', '~> 0.6.2'
|
33
|
-
spec.add_dependency 'google-protobuf', '>= 4.27.
|
33
|
+
spec.add_dependency 'google-protobuf', '>= 4.27.5', '< 5.0.0'
|
34
34
|
|
35
35
|
spec.add_development_dependency 'bundler', '>= 1.12'
|
36
36
|
spec.add_development_dependency 'rake', '>= 10.0'
|
37
|
+
|
38
|
+
if RUBY_VERSION >= '3.5'
|
39
|
+
spec.add_development_dependency 'logger'
|
40
|
+
end
|
37
41
|
end
|
data/lib/app_info/aab.rb
CHANGED
@@ -80,23 +80,33 @@ module AppInfo
|
|
80
80
|
@components ||= manifest.components.transform_values
|
81
81
|
end
|
82
82
|
|
83
|
+
# @param [String] base_path
|
84
|
+
# @return [Array<String>]
|
85
|
+
def native_codes(base_path: BASE_PATH)
|
86
|
+
@native_codes ||= zip.glob(::File.join(base_path, 'lib/**/*'))
|
87
|
+
.each_with_object([]) do |entry, obj|
|
88
|
+
lib = entry.name.split('/')[2]
|
89
|
+
obj << lib unless obj.include?(lib)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
83
93
|
def each_file
|
84
94
|
zip.each do |entry|
|
85
95
|
next unless entry.file?
|
86
96
|
|
87
|
-
yield entry.name,
|
97
|
+
yield entry.name, zip.read(entry)
|
88
98
|
end
|
89
99
|
end
|
90
100
|
|
91
101
|
def read_file(name, base_path: BASE_PATH)
|
92
|
-
content =
|
102
|
+
content = zip.read(entry(name, base_path: base_path))
|
93
103
|
return parse_binary_xml(content) if xml_file?(name)
|
94
104
|
|
95
105
|
content
|
96
106
|
end
|
97
107
|
|
98
108
|
def entry(name, base_path: BASE_PATH)
|
99
|
-
entry =
|
109
|
+
entry = zip.find_entry(::File.join(base_path, name))
|
100
110
|
raise NotFoundError, "'#{name}'" if entry.nil?
|
101
111
|
|
102
112
|
entry
|
data/lib/app_info/android.rb
CHANGED
@@ -136,6 +136,11 @@ module AppInfo
|
|
136
136
|
not_implemented_error!(__method__)
|
137
137
|
end
|
138
138
|
|
139
|
+
# @abstract Subclass and override {#native_codes} to implement.
|
140
|
+
def native_codes
|
141
|
+
not_implemented_error!(__method__)
|
142
|
+
end
|
143
|
+
|
139
144
|
# @abstract Subclass and override {#zip} to implement.
|
140
145
|
def zip
|
141
146
|
not_implemented_error!(__method__)
|
data/lib/app_info/apk.rb
CHANGED
@@ -59,6 +59,14 @@ module AppInfo
|
|
59
59
|
components.select { |c| c.type == 'activity' }
|
60
60
|
end
|
61
61
|
|
62
|
+
# @return [Array<String>]
|
63
|
+
def native_codes
|
64
|
+
@native_codes ||= zip.glob('lib/**/*').each_with_object([]) do |entry, obj|
|
65
|
+
lib = entry.name.split('/')[1]
|
66
|
+
obj << lib unless obj.include?(lib)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
62
70
|
# @return [::Android::Apk]
|
63
71
|
def apk
|
64
72
|
@apk ||= ::Android::Apk.new(@file)
|
data/lib/app_info/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: app-info
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- icyleaf
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: CFPropertyList
|
@@ -192,7 +192,7 @@ dependencies:
|
|
192
192
|
requirements:
|
193
193
|
- - ">="
|
194
194
|
- !ruby/object:Gem::Version
|
195
|
-
version: 4.27.
|
195
|
+
version: 4.27.5
|
196
196
|
- - "<"
|
197
197
|
- !ruby/object:Gem::Version
|
198
198
|
version: 5.0.0
|
@@ -202,7 +202,7 @@ dependencies:
|
|
202
202
|
requirements:
|
203
203
|
- - ">="
|
204
204
|
- !ruby/object:Gem::Version
|
205
|
-
version: 4.27.
|
205
|
+
version: 4.27.5
|
206
206
|
- - "<"
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 5.0.0
|
@@ -328,7 +328,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
328
328
|
- !ruby/object:Gem::Version
|
329
329
|
version: '0'
|
330
330
|
requirements: []
|
331
|
-
rubygems_version: 3.5.
|
331
|
+
rubygems_version: 3.5.22
|
332
332
|
signing_key:
|
333
333
|
specification_version: 4
|
334
334
|
summary: Teardown tool for all most app, analysis metedata like version, name, icon
|