app-info 3.2.0 → 3.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 114f4899c399d6a4b8091b798a6089538b157eccba40c428ae36e445f79191d6
4
- data.tar.gz: 872061f173786d61f2dbad70a25405b71fc2b054ea023fb375394aed52febeeb
3
+ metadata.gz: 86293b5c7a18cc4acd04c091ca25cc6b09cb52a73f69733713fd48e64b967429
4
+ data.tar.gz: 1e66c39ada9c58553364bb96c36791e285886f5ecb235ec0f051e712afa26517
5
5
  SHA512:
6
- metadata.gz: 435e4ce4855c42b94a5ef6a9bd12e208765691ad4d2ba1f0da92eb251e6fe12ed9f9aaa95ec8ba5fd3f53b1b4ff664fb8e8a1764b32992c5c0be220e51344ce1
7
- data.tar.gz: 376b5e7ac14d0fa8a95d0bd0a6d2861532e937317ed3c6a1cea07bc3ebc7a4ac2b84b8648180a9ae298768e3b7e90335a055bf344a2a2f933a2106b2f853bb31
6
+ metadata.gz: 432e0afb55cd37c79938a4fbbfcc31df8d0f37c674018e467282e037dd2f1ad3a2e40639433aa1fb577d4da7d32aebf8d14dd9f05f02a9e050de638ea482dd6b
7
+ data.tar.gz: 453aeefda0e657cec97fc01527e3b796dffebbfd9f1760b3bfc7afd88b2f0596fe4d146c0c870fd3c9752d32577518c3a85dc1c8c77a6046a99e0f4439daa19d
@@ -31,12 +31,10 @@ jobs:
31
31
  fail-fast: false
32
32
  matrix:
33
33
  ruby: [ ruby-3.1, ruby-3.2, ruby-3.3 ]
34
- experimental: [false]
34
+ experimental: [ false ]
35
35
  include:
36
36
  - ruby: head
37
37
  experimental: true
38
- - ruby: truffleruby-head
39
- experimental: true
40
38
  steps:
41
39
  - uses: actions/checkout@v4
42
40
 
data/CHANGELOG.md CHANGED
@@ -9,6 +9,12 @@ 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.0] (2024-11-27)
13
+
14
+ ### Added
15
+
16
+ - Add `.native_codes` method for Android. #[79](https://github.com/icyleaf/app-info/pull/79)
17
+
12
18
  ## [3.2.0] (2024-09-09)
13
19
 
14
20
  ### Added
@@ -361,7 +367,8 @@ Dropped Ruby 2.5 ~ 3.0 support (no changes required.).
361
367
 
362
368
  - Updated dependency of CFPropertly list be a range between 2.3.4. (thanks @[cschroed](https://github.com/cschroed))
363
369
 
364
- [Unreleased]: https://github.com/icyleaf/app-info/compare/v3.2.0..HEAD
370
+ [Unreleased]: https://github.com/icyleaf/app-info/compare/v3.3.0..HEAD
371
+ [3.3.0]: https://github.com/icyleaf/app-info/compare/v3.2.0...v3.3.0
365
372
  [3.2.0]: https://github.com/icyleaf/app-info/compare/v3.1.4...v3.2.0
366
373
  [3.1.4]: https://github.com/icyleaf/app-info/compare/v3.1.2...v3.1.4
367
374
  [3.1.2]: https://github.com/icyleaf/app-info/compare/v3.1.0...v3.1.2
data/app_info.gemspec CHANGED
@@ -30,7 +30,7 @@ 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.1', '< 5.0.0'
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'
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, @zip.read(entry)
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 = @zip.read(entry(name, base_path: base_path))
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 = @zip.find_entry(::File.join(base_path, name))
109
+ entry = zip.find_entry(::File.join(base_path, name))
100
110
  raise NotFoundError, "'#{name}'" if entry.nil?
101
111
 
102
112
  entry
@@ -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)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppInfo
4
- VERSION = '3.2.0'
4
+ VERSION = '3.3.0'
5
5
  end
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.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - icyleaf
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-10 00:00:00.000000000 Z
11
+ date: 2024-11-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.1
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.1
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.9
331
+ rubygems_version: 3.5.16
332
332
  signing_key:
333
333
  specification_version: 4
334
334
  summary: Teardown tool for all most app, analysis metedata like version, name, icon