calabash-android 0.4.0.pre2 → 0.4.0.pre3
Sign up to get free protection for your applications and to get access to all the features.
@@ -44,16 +44,8 @@ def resign_apk(app_path)
|
|
44
44
|
unsigned_path = File.join(tmp_dir, 'unsigned.apk')
|
45
45
|
FileUtils.cp(app_path, unsigned_path)
|
46
46
|
|
47
|
-
#
|
48
|
-
to_remove = Zip::ZipFile.foreach(unsigned_path).find_all { |e| /^META-INF\// =~ e.name}.collect &:name
|
47
|
+
`java -jar "#{File.dirname(__FILE__)}/lib/unsign.jar" "#{unsigned_path}"`
|
49
48
|
|
50
|
-
Zip::ZipFile.open(unsigned_path) do |zip_file|
|
51
|
-
to_remove.each do |x|
|
52
|
-
log "Removing #{x}"
|
53
|
-
zip_file.remove x
|
54
|
-
end
|
55
|
-
zip_file.commit
|
56
|
-
end
|
57
49
|
sign_apk(unsigned_path, app_path)
|
58
50
|
end
|
59
51
|
end
|
@@ -87,9 +79,17 @@ def read_keystore_info
|
|
87
79
|
end
|
88
80
|
end
|
89
81
|
|
82
|
+
def keytool_path
|
83
|
+
if is_windows?
|
84
|
+
"\"#{ENV["JAVA_HOME"]}/bin/keytool.exe\""
|
85
|
+
else
|
86
|
+
"keytool"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
90
|
def fingerprint_from_keystore
|
91
91
|
keystore_info = read_keystore_info
|
92
|
-
fingerprints =
|
92
|
+
fingerprints = `#{keytool_path} -v -list -alias #{keystore_info["keystore_alias"]} -keystore #{keystore_info["keystore_location"]} -storepass #{keystore_info["keystore_password"]}`
|
93
93
|
md5_fingerprint = extract_md5_fingerprint(fingerprints)
|
94
94
|
log "MD5 fingerprint for keystore (#{keystore_info["keystore_location"]}): #{md5_fingerprint}"
|
95
95
|
md5_fingerprint
|
@@ -107,7 +107,7 @@ def fingerprint_from_apk(app_path)
|
|
107
107
|
raise "No RSA file found in META-INF. Cannot proceed." if rsa_files.empty?
|
108
108
|
raise "More than one RSA file found in META-INF. Cannot proceed." if rsa_files.length > 1
|
109
109
|
|
110
|
-
fingerprints =
|
110
|
+
fingerprints = `#{keytool_path} -v -printcert -file #{rsa_files.first}`
|
111
111
|
md5_fingerprint = extract_md5_fingerprint(fingerprints)
|
112
112
|
log "MD5 fingerprint for signing cert (#{app_path}): #{md5_fingerprint}"
|
113
113
|
md5_fingerprint
|
@@ -116,9 +116,9 @@ def fingerprint_from_apk(app_path)
|
|
116
116
|
end
|
117
117
|
|
118
118
|
def extract_md5_fingerprint(fingerprints)
|
119
|
-
m = fingerprints.scan(/MD5:\s+((?:\h\h:){15}\h\h)/)
|
120
|
-
raise "No MD5 fingerprint found:\n #{fingerprints}"
|
121
|
-
m.
|
119
|
+
m = fingerprints.scan(/MD5:\s+((?:\h\h:){15}\h\h)/).flatten
|
120
|
+
raise "No MD5 fingerprint found:\n #{fingerprints}" if m.empty?
|
121
|
+
m.first
|
122
122
|
end
|
123
123
|
|
124
124
|
def is_windows?
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: calabash-android
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.0.
|
4
|
+
version: 0.4.0.pre3
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cucumber
|
@@ -130,6 +130,7 @@ files:
|
|
130
130
|
- lib/calabash-android/lib/AXMLPrinter2.jar
|
131
131
|
- lib/calabash-android/lib/manifest_extractor.jar
|
132
132
|
- lib/calabash-android/lib/screenShotTaker.jar
|
133
|
+
- lib/calabash-android/lib/unsign.jar
|
133
134
|
- lib/calabash-android/management/adb.rb
|
134
135
|
- lib/calabash-android/management/app_installation.rb
|
135
136
|
- lib/calabash-android/operations.rb
|