Re: Calabash 2.0 DependencyError

60 views
Skip to first unread message

Joshua Moody

unread,
Nov 21, 2016, 3:23:00 PM11/21/16
to calabash-android
calabash-android and calabash gems are completely incompatible.

You can use one or the other.

If you are interested in trying Calabash 2.0, use:

gem "calabash", "2.0.0.pre11"

and remove references to calabash-cucumber and calabash-android.

On Mon, Nov 21, 2016 at 10:22 AM, P. LaStar <jaufret....@gmail.com> wrote:
Hi,

I'm trying to install calabash gem, I just add this in my gem file:
gem 'calabash', '~> 1.2', '>= 1.2.1'

And I ran the cmd: gem install but always get this error:

ERROR:  While executing gem ... (Gem::DependencyError)

    Unable to resolve dependencies: calabash-android requires rubyzip (~> 0.9.9)

Thank you

--
You received this message because you are subscribed to the Google Groups "calabash-android" group.
To unsubscribe from this group and stop receiving emails from it, send an email to calabash-android+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Message has been deleted

P. LaStar

unread,
Nov 23, 2016, 10:24:47 AM11/23/16
to calabash-android
Just update to the new version and I get the following error:


devrap-MBP:pratique-calabash jaufret$ calabash -v resign /Users/jaufret/Documents/Apps/app-dev-release.apk

Setting Android SDK location to $ANDROID_HOME

Android SDK location set to '/Users/jaufret/Library/Android/sdk'

Set aapt path to '/Users/jaufret/Library/Android/sdk/build-tools/24.0.3/aapt'

Set zipalign path to '/Users/jaufret/Library/Android/sdk/build-tools/24.0.3/zipalign'

Set adb path to '/Users/jaufret/Library/Android/sdk/platform-tools/adb'

Set android jar path to '/Users/jaufret/Library/Android/sdk/platforms/android-24/android.jar'

Setting Java SDK location to $JAVA_HOME

Java SDK location set to '/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home'

Found java on PATH

Set java path to '/usr/bin/java'

Found keytool on PATH

Set keytool path to '/usr/bin/keytool'

Found jarsigner on PATH

Set jarsigner path to '/usr/bin/jarsigner'

Resigning apk

Reading keystore information specified in calabash_keystore_settings.json

Reading keystore data from keystore file '/Users/jaufret/.android/debug.keystore'

/usr/bin/keytool -list -v -alias androiddebugkey -keystore /Users/jaufret/.android/debug.keystore -storepass android -keypass android "-J"-Dfile.encoding=utf-8""

Key store data:

Nom d'alias : androiddebugkey

Date de création : 23 nov. 2016

Type d'entrée : PrivateKeyEntry

Longueur de chaîne du certificat : 1

Certificat[1]:

Propriétaire : CN=Android Debug, O=Android, C=US

Emetteur : CN=Android Debug, O=Android, C=US

Numéro de série : 18553c36

Valide du : Wed Nov 23 14:27:39 CET 2016 au : Sun Apr 10 15:27:39 CEST 2044

Empreintes du certificat :

MD5:  80:0A:E7:BA:FF:12:D5:8A:E2:84:EF:8B:FA:15:65:60

SHA1 : 63:C5:83:C8:2F:39:73:FB:1C:D9:3D:FD:DE:11:DE:0B:F8:26:36:51

SHA256 : EC:B9:A9:66:E4:96:15:3E:0D:A8:91:C8:EB:6C:5C:6D:7E:0F:A8:29:FF:1C:89:E4:CD:3F:A9:E2:75:2D:0A:FB

Nom de l'algorithme de signature : SHA256withRSA

Version : 3


Extensions : 


#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: 95 FC 4C E2 5F 7B 9A 5C   63 98 D4 8F BC 4A DD EE  ..L._..\c....J..

0010: 50 7C 22 A2                                        P.".

]

]



/Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:182:in `extract_signature_algorithm_name': No signature algorithm names found: (RuntimeError)

 Nom d'alias : androiddebugkey

Date de création : 23 nov. 2016

Type d'entrée : PrivateKeyEntry

Longueur de chaîne du certificat : 1

Certificat[1]:

Propriétaire : CN=Android Debug, O=Android, C=US

Emetteur : CN=Android Debug, O=Android, C=US

Numéro de série : 18553c36

Valide du : Wed Nov 23 14:27:39 CET 2016 au : Sun Apr 10 15:27:39 CEST 2044

Empreintes du certificat :

MD5:  80:0A:E7:BA:FF:12:D5:8A:E2:84:EF:8B:FA:15:65:60

SHA1 : 63:C5:83:C8:2F:39:73:FB:1C:D9:3D:FD:DE:11:DE:0B:F8:26:36:51

SHA256 : EC:B9:A9:66:E4:96:15:3E:0D:A8:91:C8:EB:6C:5C:6D:7E:0F:A8:29:FF:1C:89:E4:CD:3F:A9:E2:75:2D:0A:FB

Nom de l'algorithme de signature : SHA256withRSA

Version : 3


Extensions : 


#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: 95 FC 4C E2 5F 7B 9A 5C   63 98 D4 8F BC 4A DD EE  ..L._..\c....J..

0010: 50 7C 22 A2                                        P.".

]

]


from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:67:in `initialize'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:163:in `new'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:163:in `keystore_from_settings'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:138:in `get_keystores'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/resigner.rb:67:in `sign'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/resigner.rb:25:in `block in resign!'

from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tmpdir.rb:88:in `mktmpdir'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/resigner.rb:19:in `resign!'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/lib/calabash/cli/resign.rb:22:in `parse_resign_arguments!'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/bin/calabash:68:in `parse_arguments!'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/bin/calabash:54:in `parse_arguments!'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/bin/calabash:24:in `evaluate'

from /Library/Ruby/Gems/2.0.0/gems/calabash-2.0.0.pre11/bin/calabash:107:in `<top (required)>'

from /usr/local/bin/calabash:23:in `load'

from /usr/local/bin/calabash:23:in `<main>'


I only have Calabash 2.0.0.pre11 installed and no other version which can mess up. My keystore is pretty clean I used the classic android default key.
Is this from your side ?


Joshua Moody

unread,
Nov 25, 2016, 3:29:05 AM11/25/16
to calabash-android

/Library/Ruby/Gems/2.0.0/gems/

Calabash 2.0 and Calabash iOS no longer allow macOS system ruby.

We recommend using rbenv. We recommend avoiding rvm.

We recommend ruby 2.3.1, but support back to ruby 2.2.

This does not have anything to do with this resigning problem.

jjm

--
You received this message because you are subscribed to the Google Groups "calabash-android" group.
To unsubscribe from this group and stop receiving emails from it, send an email to calabash-andro...@googlegroups.com.

P. LaStar

unread,
Nov 25, 2016, 5:22:21 AM11/25/16
to calabash-android
Thank you for the answer Joshua but I encounter the same problem after I used rbenv and ruby 2.3.1. Sorry if I missed the info to used rbenv first time, I'm kind of new.

Here is the result log of the command rerun with 2.3.1:

devrap-MBP:pratique-calabash jaufret$ calabash -v resign /Users/jaufret/Documents/Apps/app-dev-release.apk

Deprecated use of old ENV variable 'APP_PATH'

/Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/legacy.rb:9: warning: already initialized constant Calabash::Environment::APP_PATH

/Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/environment.rb:46: warning: previous definition of APP_PATH was here

Setting Android SDK location to $ANDROID_HOME

Android SDK location set to '/Users/jaufret/Library/Android/sdk'

Set aapt path to '/Users/jaufret/Library/Android/sdk/build-tools/24.0.3/aapt'

Set zipalign path to '/Users/jaufret/Library/Android/sdk/build-tools/24.0.3/zipalign'

Set adb path to '/Users/jaufret/Library/Android/sdk/platform-tools/adb'

Set android jar path to '/Users/jaufret/Library/Android/sdk/platforms/android-24/android.jar'

Setting Java SDK location to $JAVA_HOME

Java SDK location set to '/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home'

Found java on PATH

Set java path to '/usr/bin/java'

Found keytool on PATH

Set keytool path to '/usr/bin/keytool'

Found jarsigner on PATH

Set jarsigner path to '/usr/bin/jarsigner'

Resigning apk

Reading keystore information specified in calabash_keystore_settings.json

Reading keystore data from keystore file '/Users/jaufret/.android/debug.keystore'

/usr/bin/keytool -list -v -alias androiddebugkey -keystore /Users/jaufret/.android/debug.keystore -storepass android -keypass android "-J"-Dfile.encoding=utf-8""

Key store data:

Nom d'alias : androiddebugkey

Date de création : 7 oct. 2016

Type d'entrée : PrivateKeyEntry

Longueur de chaîne du certificat : 1

Certificat[1]:

Propriétaire : C=US, O=Android, CN=Android Debug

Emetteur : C=US, O=Android, CN=Android Debug

Numéro de série : 1

Valide du : Fri Oct 07 13:57:04 CEST 2016 au : Sun Sep 30 13:57:04 CEST 2046

Empreintes du certificat :

MD5:  0A:3D:61:DB:73:F5:96:B1:C0:35:6A:6B:28:F7:94:90

SHA1 : 7F:3B:41:AF:2F:93:F1:B2:A7:04:68:EC:68:AF:A6:E9:4E:21:50:C8

SHA256 : A0:17:48:8F:C1:09:6D:14:00:AB:35:BE:F6:53:C0:03:C6:EB:E4:74:B5:E2:25:69:39:55:6F:FC:E9:E5:89:F1

Nom de l'algorithme de signature : SHA1withRSA

Version : 1


/Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:182:in `extract_signature_algorithm_name': No signature algorithm names found: (RuntimeError)

 Nom d'alias : androiddebugkey

Date de création : 7 oct. 2016

Type d'entrée : PrivateKeyEntry

Longueur de chaîne du certificat : 1

Certificat[1]:

Propriétaire : C=US, O=Android, CN=Android Debug

Emetteur : C=US, O=Android, CN=Android Debug

Numéro de série : 1

Valide du : Fri Oct 07 13:57:04 CEST 2016 au : Sun Sep 30 13:57:04 CEST 2046

Empreintes du certificat :

MD5:  0A:3D:61:DB:73:F5:96:B1:C0:35:6A:6B:28:F7:94:90

SHA1 : 7F:3B:41:AF:2F:93:F1:B2:A7:04:68:EC:68:AF:A6:E9:4E:21:50:C8

SHA256 : A0:17:48:8F:C1:09:6D:14:00:AB:35:BE:F6:53:C0:03:C6:EB:E4:74:B5:E2:25:69:39:55:6F:FC:E9:E5:89:F1

Nom de l'algorithme de signature : SHA1withRSA

Version : 1

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:67:in `initialize'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:163:in `new'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:163:in `keystore_from_settings'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/java_keystore.rb:138:in `get_keystores'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/resigner.rb:67:in `sign'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/resigner.rb:25:in `block in resign!'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tmpdir.rb:89:in `mktmpdir'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/android/build/resigner.rb:19:in `resign!'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/cli/resign.rb:22:in `parse_resign_arguments!'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/bin/calabash:68:in `parse_arguments!'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/bin/calabash:54:in `parse_arguments!'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/bin/calabash:24:in `evaluate'

from /Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/bin/calabash:107:in `<top (required)>'

from /Users/jaufret/.rbenv/versions/2.3.1/bin/calabash:23:in `load'

from /Users/jaufret/.rbenv/versions/2.3.1/bin/calabash:23:in `<main>'

P. LaStar

unread,
Nov 25, 2016, 5:59:53 AM11/25/16
to calabash-android
Ok, I corrected the 3 following lines:

Deprecated use of old ENV variable 'APP_PATH'
/Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/legacy.rb:9: warning: already initialized constant Calabash::Environment::APP_PATH
/Users/jaufret/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/calabash-2.0.0.pre11/lib/calabash/environment.rb:46: warning: previous definition of APP_PATH was here

But I still get the same error. Maybe I missed something with Ruby one more time but can't figure what :/ 

tobias....@xamarin.com

unread,
Nov 25, 2016, 12:11:04 PM11/25/16
to calabash-android
Calabash 2 (which is still in pre-release!) does not currently support any computer language but English because of the way it invokes the JDK tools. This will, of course, work when Calabash 2 is released and is not in alpha anymore. Either change your locale to English, or use Calabash 0.x.

P. LaStar

unread,
Nov 28, 2016, 4:05:48 AM11/28/16
to calabash-android
I don't get the part about the english language sorry. Do you mean I need to pass my app and emulator language to english ? Or my global system ?

Thank you.
Reply all
Reply to author
Forward
0 new messages