droid_adbs 0.4.0 → 0.4.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/lib/droid_adbs/apkanalyzer.rb +40 -21
- data/lib/droid_adbs/commons/settings.rb +6 -0
- data/lib/droid_adbs/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3bde318e91b24a5c4be0d90582ddb5158dfd751
|
4
|
+
data.tar.gz: eee500b72c099731ac470d33882bfc68182adce2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbc09f7d5890a084bdae950241f247b83896a0b524eb52d7f4c8a06e4d7798d5d23002214dce91a2e2517a3c03ae534099077211374f80050642ca43c992a93a
|
7
|
+
data.tar.gz: 17bf321d53678e217c4ba662fec8209496b16f284b2a99e188893c29dc3d27da7de2b939a0637a19fda20a0a77ca43ca5c122365d9cbd0c4a934b84d11c310be
|
@@ -17,7 +17,7 @@ module DroidAdbs
|
|
17
17
|
# manifest_package_id #=> "io.appium.android.apis"
|
18
18
|
#
|
19
19
|
def manifest_package_id
|
20
|
-
|
20
|
+
`#{command_manifest} application-id #{@apk_path}`.strip
|
21
21
|
end
|
22
22
|
|
23
23
|
# @param [String] out_path A path to output the result
|
@@ -25,7 +25,7 @@ module DroidAdbs
|
|
25
25
|
#
|
26
26
|
#
|
27
27
|
def manifest_print(out_path = './manifest_print.xml')
|
28
|
-
result =
|
28
|
+
result = `#{command_manifest} print #{@apk_path}`.strip
|
29
29
|
File.write out_path, result
|
30
30
|
end
|
31
31
|
|
@@ -36,7 +36,7 @@ module DroidAdbs
|
|
36
36
|
# manifest_version_name #=> "1.0"
|
37
37
|
#
|
38
38
|
def manifest_version_name
|
39
|
-
|
39
|
+
`#{command_manifest} version-name #{@apk_path}`.strip
|
40
40
|
end
|
41
41
|
|
42
42
|
# @return [String] A number of version code by string
|
@@ -46,7 +46,7 @@ module DroidAdbs
|
|
46
46
|
# manifest_version_code #=> "1"
|
47
47
|
#
|
48
48
|
def manifest_version_code
|
49
|
-
|
49
|
+
`#{command_manifest} version-code #{@apk_path}`.strip
|
50
50
|
end
|
51
51
|
|
52
52
|
# @return [String] A number of min sdk by string
|
@@ -56,7 +56,7 @@ module DroidAdbs
|
|
56
56
|
# manifest_min_sdk #=> "16"
|
57
57
|
#
|
58
58
|
def manifest_min_sdk
|
59
|
-
|
59
|
+
`#{command_manifest} min-sdk #{@apk_path}`.strip
|
60
60
|
end
|
61
61
|
|
62
62
|
# @return [String] A number of target sdk by string
|
@@ -66,7 +66,7 @@ module DroidAdbs
|
|
66
66
|
# manifest_target_sdk #=> "22"
|
67
67
|
#
|
68
68
|
def manifest_target_sdk
|
69
|
-
|
69
|
+
`#{command_manifest} target-sdk #{@apk_path}`.strip
|
70
70
|
end
|
71
71
|
|
72
72
|
# @return [[String]] A list of permissions
|
@@ -76,7 +76,7 @@ module DroidAdbs
|
|
76
76
|
# manifest_permissions #=> ["android.permission.INTERNET", "android.permission.SYSTEM_ALERT_WINDOW", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_PHONE_STATE"]
|
77
77
|
#
|
78
78
|
def manifest_permissions
|
79
|
-
|
79
|
+
`#{command_manifest} permissions #{@apk_path}`.strip.split("\n")
|
80
80
|
end
|
81
81
|
|
82
82
|
# @return [Bool] Debuggable or not
|
@@ -86,7 +86,7 @@ module DroidAdbs
|
|
86
86
|
# manifest_debuggable #=> true
|
87
87
|
#
|
88
88
|
def manifest_debuggable
|
89
|
-
result =
|
89
|
+
result = `#{command_manifest} debuggable #{@apk_path}`.strip
|
90
90
|
return true if result == "true"
|
91
91
|
false
|
92
92
|
end
|
@@ -98,13 +98,13 @@ module DroidAdbs
|
|
98
98
|
# apk_summary #=> ["com.vodqareactnative", "1", "1.0"]
|
99
99
|
#
|
100
100
|
def apk_summary
|
101
|
-
|
101
|
+
`#{command_apk} summary #{@apk_path}`.strip.split("\t")
|
102
102
|
end
|
103
103
|
|
104
104
|
# Prints the file size of the APK.
|
105
105
|
# 7_414_686 (byte)
|
106
106
|
def apk_file_size
|
107
|
-
|
107
|
+
`#{command_apk} file-size #{@apk_path}`.strip
|
108
108
|
end
|
109
109
|
|
110
110
|
# Prints an estimate of the download size of the APK.
|
@@ -114,7 +114,7 @@ module DroidAdbs
|
|
114
114
|
# apk_download_size #=> 7313000
|
115
115
|
#
|
116
116
|
def apk_download_size
|
117
|
-
|
117
|
+
`#{command_apk} download-size #{@apk_path}`.strip
|
118
118
|
end
|
119
119
|
|
120
120
|
# Prints features used by the APK.
|
@@ -124,12 +124,12 @@ module DroidAdbs
|
|
124
124
|
# apk_features #=> "android.hardware.faketouch implied: default feature for all apps"
|
125
125
|
#
|
126
126
|
def apk_features
|
127
|
-
puts
|
127
|
+
puts `#{command_apk} features #{@apk_path}`.strip
|
128
128
|
end
|
129
129
|
|
130
130
|
# Compares the sizes of two APKs.
|
131
131
|
def apk_compare_print(with)
|
132
|
-
puts
|
132
|
+
puts `#{command_apk} features #{@apk_path} #{with}`.strip
|
133
133
|
end
|
134
134
|
|
135
135
|
# Lists all files in the zip.
|
@@ -144,29 +144,29 @@ module DroidAdbs
|
|
144
144
|
|
145
145
|
# Prints a list of dex files in the APK
|
146
146
|
def dex_list
|
147
|
-
|
147
|
+
`#{command_dex} list #{@apk_path}`.strip.split("\n")
|
148
148
|
end
|
149
149
|
|
150
150
|
# Prints number of references in dex files
|
151
151
|
def dex_references(options = "")
|
152
|
-
|
152
|
+
`#{command_dex} references #{options} #{@apk_path}`.strip
|
153
153
|
end
|
154
154
|
|
155
155
|
# Prints the class tree from DEX.
|
156
156
|
# P,C,M,F: indicates packages, classes methods, fields
|
157
157
|
# x,k,r,d: indicates removed, kept, referenced and defined nodes
|
158
158
|
def dex_packages(options = "")
|
159
|
-
|
159
|
+
`#{command_dex} packages #{options} #{@apk_path}`.strip
|
160
160
|
end
|
161
161
|
|
162
162
|
# Prints the bytecode of a class or method in smali format
|
163
163
|
def dex_code
|
164
|
-
|
164
|
+
`#{command_dex} code #{@apk_path}`.strip
|
165
165
|
end
|
166
166
|
|
167
167
|
# Prints a list of packages in resources table
|
168
168
|
def resources_packages
|
169
|
-
|
169
|
+
`#{command_resources} packages #{@apk_path}`.strip
|
170
170
|
end
|
171
171
|
|
172
172
|
# Prints a list of configurations for the specified type.
|
@@ -175,7 +175,7 @@ module DroidAdbs
|
|
175
175
|
# otherwise the first defined package will be used.
|
176
176
|
#
|
177
177
|
def resources_configs(type, package = "")
|
178
|
-
|
178
|
+
`#{command_resources} configs --type #{type} #{package} #{@apk_path}`.strip
|
179
179
|
end
|
180
180
|
|
181
181
|
# Prints the value of the resource specified by config, name, and type.
|
@@ -190,12 +190,31 @@ module DroidAdbs
|
|
190
190
|
# resources_value "default", "revision_hash", "string"
|
191
191
|
#
|
192
192
|
def resources_value(config, name, type, package = "")
|
193
|
-
|
193
|
+
`#{command_resources} value --config #{config} --name #{name} --type #{type} #{package} #{@apk_path}`.strip
|
194
194
|
end
|
195
195
|
|
196
196
|
# Prints the human-readable form of a binary XML file. Include the file option to specify the path to the file.
|
197
197
|
def resources_xml(xml_file)
|
198
|
-
|
198
|
+
`#{command_resources} xml --file #{xml_file} #{@apk_path}`.strip
|
199
199
|
end
|
200
|
+
|
201
|
+
private
|
202
|
+
|
203
|
+
def command_manifest
|
204
|
+
'apkanalyzer manifest'
|
205
|
+
end
|
206
|
+
|
207
|
+
def command_apk
|
208
|
+
'apkanalyzer apk'
|
209
|
+
end
|
210
|
+
|
211
|
+
def command_dex
|
212
|
+
'apkanalyzer dex'
|
213
|
+
end
|
214
|
+
|
215
|
+
def command_resources
|
216
|
+
'apkanalyzer resources'
|
217
|
+
end
|
218
|
+
|
200
219
|
end # class Apkanalyzer
|
201
220
|
end # module DroidAdbs
|
@@ -66,6 +66,12 @@ module DroidAdbs
|
|
66
66
|
`#{::DroidAdbs.shell} date -s #{yyyymmdd}.#{hhmmss}`.strip
|
67
67
|
end
|
68
68
|
|
69
|
+
# @param [String] format A format to `adb shell date`. `+%Y-%m-%dT%T%z` is one format.
|
70
|
+
# @return [String] message from adb command
|
71
|
+
def get_date(format = "")
|
72
|
+
`#{::DroidAdbs.shell} date #{format}`.strip
|
73
|
+
end
|
74
|
+
|
69
75
|
# Only for rooted devices.
|
70
76
|
#
|
71
77
|
# Default SET format is "MMDDhhmm[[CC]YY][.ss]", that's (2 digits each)
|
data/lib/droid_adbs/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: droid_adbs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuaki MATSUO
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
104
|
rubyforge_project:
|
105
|
-
rubygems_version: 2.6.
|
105
|
+
rubygems_version: 2.6.14
|
106
106
|
signing_key:
|
107
107
|
specification_version: 4
|
108
108
|
summary: adb command wrapper
|