Comments (16)
Thank for reporting. Adding full stacktrack -
HTTPClient::SendTimeoutError: execution expired
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/supply:23:in `<main>'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/supply:23:in `load'
from /Users/bdb/.rvm/gems/ruby-2.2.3/gems/supply-0.4.0/bin/supply:6:in `<top (required)>'
from supply/commands_generator.rb:15:in `start'
from supply/commands_generator.rb:57:in `run'
from commander/delegates.rb:15:in `run!'
from fastlane_core/ui/fastlane_runner.rb:23:in `run!'
from commander/runner.rb:428:in `run_active_command'
from commander/command.rb:153:in `run'
from commander/command.rb:178:in `call'
from commander/command.rb:178:in `call'
from supply/commands_generator.rb:39:in `block (2 levels) in run'
from supply/uploader.rb:25:in `perform_upload'
from supply/uploader.rb:90:in `upload_binary'
from supply/client.rb:177:in `upload_apk'
from google/apis/androidpublisher_v2/service.rb:660:in `upload_apk'
from google/apis/core/base_service.rb:267:in `execute_or_queue_command'
from google/apis/core/http_command.rb:96:in `execute'
from retriable.rb:48:in `retriable'
from retriable.rb:48:in `times'
from retriable.rb:54:in `block in retriable'
from google/apis/core/http_command.rb:104:in `block in execute'
from retriable.rb:48:in `retriable'
from retriable.rb:48:in `times'
from retriable.rb:54:in `block in retriable'
from google/apis/core/http_command.rb:107:in `block (2 levels) in execute'
from google/apis/core/upload.rb:274:in `execute_once'
from google/apis/core/upload.rb:244:in `send_upload_command'
from hurley/client.rb:71:in `post'
from hurley/client.rb:89:in `call'
from hurley/client.rb:122:in `call_with_redirects'
from google/apis/core/http_client_adapter.rb:16:in `call'
from google/apis/core/http_client_adapter.rb:16:in `new'
from hurley/client.rb:252:in `initialize'
from google/apis/core/http_client_adapter.rb:17:in `block in call'
from httpclient.rb:858:in `request'
from httpclient.rb:1016:in `do_request'
from httpclient.rb:1129:in `protect_keep_alive_disconnected'
from httpclient.rb:1021:in `block in do_request'
from httpclient.rb:1238:in `do_get_block'
from httpclient/session.rb:170:in `query'
from httpclient/session.rb:501:in `query'
from timeout.rb:98:in `timeout'
from timeout.rb:98:in `call'
from timeout.rb:88:in `block in timeout'
from httpclient/session.rb:503:in `block in query'
from httpclient/http.rb:959:in `dump'
from httpclient/http.rb:508:in `dump'
from httpclient/http.rb:582:in `dump_file'
from httpclient/ssl_socket.rb:92:in `<<'
from openssl/buffering.rb:344:in `write'
from openssl/buffering.rb:326:in `do_write'
from openssl/buffering.rb:326:in `syswrite'
Hurley::Timeout: execution expired
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/supply:23:in `<main>'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/supply:23:in `load'
from /Users/bdb/.rvm/gems/ruby-2.2.3/gems/supply-0.4.0/bin/supply:6:in `<top (required)>'
from supply/commands_generator.rb:15:in `start'
from supply/commands_generator.rb:57:in `run'
from commander/delegates.rb:15:in `run!'
from fastlane_core/ui/fastlane_runner.rb:23:in `run!'
from commander/runner.rb:428:in `run_active_command'
from commander/command.rb:153:in `run'
from commander/command.rb:178:in `call'
from commander/command.rb:178:in `call'
from supply/commands_generator.rb:39:in `block (2 levels) in run'
from supply/uploader.rb:25:in `perform_upload'
from supply/uploader.rb:90:in `upload_binary'
from supply/client.rb:177:in `upload_apk'
from google/apis/androidpublisher_v2/service.rb:660:in `upload_apk'
from google/apis/core/base_service.rb:267:in `execute_or_queue_command'
from google/apis/core/http_command.rb:96:in `execute'
from retriable.rb:48:in `retriable'
from retriable.rb:48:in `times'
from retriable.rb:54:in `block in retriable'
from google/apis/core/http_command.rb:104:in `block in execute'
from retriable.rb:48:in `retriable'
from retriable.rb:48:in `times'
from retriable.rb:54:in `block in retriable'
from google/apis/core/http_command.rb:107:in `block (2 levels) in execute'
from google/apis/core/upload.rb:274:in `execute_once'
from google/apis/core/upload.rb:244:in `send_upload_command'
from hurley/client.rb:71:in `post'
from hurley/client.rb:89:in `call'
from hurley/client.rb:122:in `call_with_redirects'
from google/apis/core/http_client_adapter.rb:16:in `call'
from google/apis/core/http_client_adapter.rb:16:in `new'
from hurley/client.rb:252:in `initialize'
from google/apis/core/http_client_adapter.rb:17:in `block in call'
from httpclient.rb:858:in `request'
from httpclient.rb:1016:in `do_request'
from httpclient.rb:1129:in `protect_keep_alive_disconnected'
from httpclient.rb:1021:in `block in do_request'
from httpclient.rb:1238:in `do_get_block'
from httpclient/session.rb:170:in `query'
from httpclient/session.rb:501:in `query'
from timeout.rb:98:in `timeout'
from timeout.rb:98:in `call'
from timeout.rb:88:in `block in timeout'
from httpclient/session.rb:503:in `block in query'
from httpclient/http.rb:959:in `dump'
from httpclient/http.rb:508:in `dump'
from httpclient/http.rb:582:in `dump_file'
from httpclient/ssl_socket.rb:92:in `<<'
from openssl/buffering.rb:344:in `write'
from openssl/buffering.rb:326:in `do_write'
from openssl/buffering.rb:326:in `syswrite'
Google::Apis::TransmissionError: execution expired
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/supply:23:in `<main>'
from /Users/bdb/.rvm/gems/ruby-2.2.3/bin/supply:23:in `load'
from /Users/bdb/.rvm/gems/ruby-2.2.3/gems/supply-0.4.0/bin/supply:6:in `<top (required)>'
from supply/commands_generator.rb:15:in `start'
from supply/commands_generator.rb:57:in `run'
from commander/delegates.rb:15:in `run!'
from fastlane_core/ui/fastlane_runner.rb:23:in `run!'
from commander/runner.rb:428:in `run_active_command'
from commander/command.rb:153:in `run'
from commander/command.rb:178:in `call'
from commander/command.rb:178:in `call'
from supply/commands_generator.rb:39:in `block (2 levels) in run'
from supply/uploader.rb:25:in `perform_upload'
from supply/uploader.rb:90:in `upload_binary'
from supply/client.rb:177:in `upload_apk'
from google/apis/androidpublisher_v2/service.rb:660:in `upload_apk'
from google/apis/core/base_service.rb:267:in `execute_or_queue_command'
from google/apis/core/http_command.rb:96:in `execute'
from retriable.rb:48:in `retriable'
from retriable.rb:48:in `times'
from retriable.rb:54:in `block in retriable'
from google/apis/core/http_command.rb:104:in `block in execute'
from retriable.rb:48:in `retriable'
from retriable.rb:48:in `times'
from retriable.rb:54:in `block in retriable'
from google/apis/core/http_command.rb:107:in `block (2 levels) in execute'
from google/apis/core/upload.rb:274:in `execute_once'
from google/apis/core/upload.rb:244:in `send_upload_command'
from hurley/client.rb:71:in `post'
from hurley/client.rb:89:in `call'
from hurley/client.rb:122:in `call_with_redirects'
from google/apis/core/http_client_adapter.rb:16:in `call'
from google/apis/core/http_client_adapter.rb:16:in `new'
from hurley/client.rb:252:in `initialize'
from google/apis/core/http_client_adapter.rb:17:in `block in call'
from httpclient.rb:858:in `request'
from httpclient.rb:1016:in `do_request'
from httpclient.rb:1129:in `protect_keep_alive_disconnected'
from httpclient.rb:1021:in `block in do_request'
from httpclient.rb:1238:in `do_get_block'
from httpclient/session.rb:170:in `query'
from httpclient/session.rb:501:in `query'
from timeout.rb:98:in `timeout'
from timeout.rb:98:in `call'
from timeout.rb:88:in `block in timeout'
from httpclient/session.rb:503:in `block in query'
from httpclient/http.rb:959:in `dump'
from httpclient/http.rb:508:in `dump'
from httpclient/http.rb:582:in `dump_file'
from httpclient/ssl_socket.rb:92:in `<<'
from openssl/buffering.rb:344:in `write'
from openssl/buffering.rb:326:in `do_write'
from openssl/buffering.rb:326:in `syswrite'
from supply.
The google api client 0.9 handles timeouts and large files in a different way.
See googleapis/google-api-ruby-client#289
How big is your APK?
from supply.
I found the same problem. My APK is about 40mb.
from supply.
@peleteiro I'll enable debugging to see if this is there's more info.
We could try something like that: https://developers.google.com/api-client-library/ruby/guide/media_upload but it looks from the stack that it was already retrying.
Also note this issue: https://issues.jenkins-ci.org/browse/JENKINS-31204
from supply.
+1. app = 16 mb
from supply.
I had the crash while uploading screenshots (approx 1 MB per screenshot, after about 20 files)
from supply.
it is ok now.
[17:40:14]: Preparing apk at path 'app/build/outputs/apk/app-release.apk' for upload... [17:40:21]: Updating track 'production'... [17:40:22]: Uploading all changes to Google Play... [17:40:45]: Successfully finished the upload to Google Play
from supply.
Still continue the same error for me. Stracktrace: 9dd8599c9d09d13c17eb30fa66a4c794
via Fastlane file like this:
lane :don do
#gradle(task: "don")
supply(
apk: "/home/ikermart/Documents/androidProjects/4_apks/don_release.apk",
track: "beta",
metadata_path: "/home/Documents/androidProjects/4_apks/metadatas/don"
)
end
from supply.
Same here.
Stack trace:
[13:52:38]: Fetching a new access token from Google...
[13:52:41]: Loading metadata for language 'en-US'...
[13:52:43]: Updating changelog for code version '19' and language 'en-US'...
[13:52:45]: Updating changelog for code version '20' and language 'en-US'...
[13:52:46]: Updating changelog for code version '21' and language 'en-US'...
[13:52:46]: Updating changelog for code version '22' and language 'en-US'...
[13:52:47]: Updating changelog for code version '23' and language 'en-US'...
[13:52:48]: Updating changelog for code version '24' and language 'en-US'...
[13:52:49]: Updating changelog for code version '26' and language 'en-US'...
[13:52:50]: Updating changelog for code version '27' and language 'en-US'...
[13:52:51]: Updating changelog for code version '29' and language 'en-US'...
[13:52:52]: Updating changelog for code version '30' and language 'en-US'...
[13:52:54]: Updating changelog for code version '31' and language 'en-US'...
[13:52:54]: Updating changelog for code version '32' and language 'en-US'...
[13:52:55]: Updating changelog for code version '33' and language 'en-US'...
[13:52:56]: Updating changelog for code version '34' and language 'en-US'...
[13:52:58]: Updating changelog for code version '35' and language 'en-US'...
[13:52:59]: Updating changelog for code version '36' and language 'en-US'...
[13:53:00]: Updating changelog for code version '37' and language 'en-US'...
[13:53:02]: Updating changelog for code version '38' and language 'en-US'...
[13:53:03]: Updating changelog for code version '39' and language 'en-US'...
[13:53:04]: Updating changelog for code version '40' and language 'en-US'...
[13:53:05]: Updating changelog for code version '41' and language 'en-US'...
[13:53:07]: Loading metadata for language 'iw-IL'...
[13:53:08]: Uploading image file ./fastlane/metadata/android/iw-IL/images/icon.png...
[13:53:13]: Uploading image file ./fastlane/metadata/android/iw-IL/images/promoGraphic.png...
[13:53:17]: Updating changelog for code version '1' and language 'iw-IL'...
[13:53:18]: Updating changelog for code version '2' and language 'iw-IL'...
[13:53:19]: Updating changelog for code version '14' and language 'iw-IL'...
[13:53:20]: Updating changelog for code version '15' and language 'iw-IL'...
[13:53:22]: Updating changelog for code version '16' and language 'iw-IL'...
[13:53:25]: Updating changelog for code version '17' and language 'iw-IL'...
[13:53:26]: Updating changelog for code version '18' and language 'iw-IL'...
[13:53:27]: Updating changelog for code version '19' and language 'iw-IL'...
[13:53:28]: Updating changelog for code version '20' and language 'iw-IL'...
[13:53:29]: Updating changelog for code version '21' and language 'iw-IL'...
[13:53:31]: Updating changelog for code version '22' and language 'iw-IL'...
[13:53:32]: Updating changelog for code version '23' and language 'iw-IL'...
[13:53:33]: Updating changelog for code version '24' and language 'iw-IL'...
[13:53:33]: Updating changelog for code version '26' and language 'iw-IL'...
[13:53:35]: Updating changelog for code version '27' and language 'iw-IL'...
[13:53:36]: Updating changelog for code version '29' and language 'iw-IL'...
[13:53:37]: Updating changelog for code version '30' and language 'iw-IL'...
[13:53:38]: Updating changelog for code version '31' and language 'iw-IL'...
[13:53:39]: Updating changelog for code version '32' and language 'iw-IL'...
[13:53:40]: Updating changelog for code version '33' and language 'iw-IL'...
[13:53:41]: Updating changelog for code version '34' and language 'iw-IL'...
[13:53:42]: Updating changelog for code version '35' and language 'iw-IL'...
[13:53:43]: Updating changelog for code version '36' and language 'iw-IL'...
[13:53:44]: Updating changelog for code version '37' and language 'iw-IL'...
[13:53:45]: Updating changelog for code version '38' and language 'iw-IL'...
[13:53:46]: Updating changelog for code version '39' and language 'iw-IL'...
[13:53:47]: Updating changelog for code version '40' and language 'iw-IL'...
[13:53:48]: Updating changelog for code version '41' and language 'iw-IL'...
[13:53:49]: Preparing apk at path 'app/build/outputs/apk/app-Release.apk' for upload...
-------------------------------------------------------------------------------------------
😨 An error occured. Please enable crash reports using `fastlane enable_crash_reporting`.
👍 This makes resolving issues much easier and helps improve fastlane.
🔒 The reports will be stored securely on getsentry.com.
🙊 More information about privacy: https://github.com/fastlane/fastlane/releases/tag/1.33.3
-------------------------------------------------------------------------------------------
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/openssl/buffering.rb:319:in `syswrite': [!] execution expired (Google::Apis::TransmissionError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/openssl/buffering.rb:319:in `do_write'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/openssl/buffering.rb:337:in `write'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient/ssl_socket.rb:92:in `<<'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient/http.rb:582:in `dump_file'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient/http.rb:508:in `dump'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient/http.rb:959:in `dump'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:503:in `block in query'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:501:in `query'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:170:in `query'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient.rb:1238:in `do_get_block'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient.rb:1021:in `block in do_request'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient.rb:1129:in `protect_keep_alive_disconnected'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient.rb:1016:in `do_request'
from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.7.1/lib/httpclient.rb:858:in `request'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/http_client_adapter.rb:17:in `block in call'
from /Library/Ruby/Gems/2.0.0/gems/hurley-0.2/lib/hurley/client.rb:252:in `initialize'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/http_client_adapter.rb:16:in `new'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/http_client_adapter.rb:16:in `call'
from /Library/Ruby/Gems/2.0.0/gems/hurley-0.2/lib/hurley/client.rb:122:in `call_with_redirects'
from /Library/Ruby/Gems/2.0.0/gems/hurley-0.2/lib/hurley/client.rb:89:in `call'
from /Library/Ruby/Gems/2.0.0/gems/hurley-0.2/lib/hurley/client.rb:71:in `post'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/upload.rb:244:in `send_upload_command'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/upload.rb:274:in `execute_once'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/http_command.rb:107:in `block (2 levels) in execute'
from /Library/Ruby/Gems/2.0.0/gems/retriable-2.1.0/lib/retriable.rb:54:in `block in retriable'
from /Library/Ruby/Gems/2.0.0/gems/retriable-2.1.0/lib/retriable.rb:48:in `times'
from /Library/Ruby/Gems/2.0.0/gems/retriable-2.1.0/lib/retriable.rb:48:in `retriable'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/http_command.rb:104:in `block in execute'
from /Library/Ruby/Gems/2.0.0/gems/retriable-2.1.0/lib/retriable.rb:54:in `block in retriable'
from /Library/Ruby/Gems/2.0.0/gems/retriable-2.1.0/lib/retriable.rb:48:in `times'
from /Library/Ruby/Gems/2.0.0/gems/retriable-2.1.0/lib/retriable.rb:48:in `retriable'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/http_command.rb:96:in `execute'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/lib/google/apis/core/base_service.rb:267:in `execute_or_queue_command'
from /Library/Ruby/Gems/2.0.0/gems/google-api-client-0.9.3/generated/google/apis/androidpublisher_v2/service.rb:660:in `upload_apk'
from /Library/Ruby/Gems/2.0.0/gems/supply-0.4.0/lib/supply/client.rb:177:in `upload_apk'
from /Library/Ruby/Gems/2.0.0/gems/supply-0.4.0/lib/supply/uploader.rb:90:in `upload_binary'
from /Library/Ruby/Gems/2.0.0/gems/supply-0.4.0/lib/supply/uploader.rb:25:in `perform_upload'
from /Library/Ruby/Gems/2.0.0/gems/supply-0.4.0/lib/supply/commands_generator.rb:39:in `block (2 levels) in run'
from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.36.8/lib/fastlane_core/ui/fastlane_runner.rb:23:in `run!'
from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
from /Library/Ruby/Gems/2.0.0/gems/supply-0.4.0/lib/supply/commands_generator.rb:57:in `run'
from /Library/Ruby/Gems/2.0.0/gems/supply-0.4.0/lib/supply/commands_generator.rb:15:in `start'
from /Library/Ruby/Gems/2.0.0/gems/supply-0.4.0/bin/supply:6:in `<top (required)>'
from /usr/local/bin/supply:23:in `load'
from /usr/local/bin/supply:23:in `<main>'
from supply.
FWIW, using the supply
CLI to replicate the same parameters as in my Fastfile
, this works fine. So perhaps there's some issue when it's working in context of the larger fastlane
execution?
from supply.
@josefdlange @avishayil @ikermart those errors are most probably transient communication errors. The fact that it appears to work if you try again, or in a different context (e.g. CLI) isn't a sign that the problem isn't there. We did some work on the Apple set of tools to reduce these issues, we will most probably have to do something similar here. In the mean time, the best solution is probably to try again later.
from supply.
Does fastlane
have a way to retry a given statement until successful...? Or am I stuck doing the retries manually?
from supply.
@josefdlange not that I know of. But you can easily implement a generic retry mechanism:
platform :mac do
lane :test do
with_retry do
sh "exit -1"
end
end
end
def with_retry(count=3, &block)
block.yield
rescue => ex
count-=1
UI.error("Failed: #{ex.message} remaining tries #{count}")
retry unless count.zero?
raise ex
end
note: the script was updated to fix the display of the counter.
from supply.
Attached is a simple patch to use retries and increased connection timeouts. I completely missed that. Taken from https://github.com/google/google-api-ruby-client/blob/ee962bab45e91774186fa339b9224b063e96de51/README.md#errors--retries
Test on my upload that failed on a slower connection.
from supply.
This should be fixed with supply 0.5.1
If you still run into issues with the latest version please open a new issue with terminal output. Include DEBUG=true
before your supply
call so that we can see the full debugging output!
from supply.
This issue was migrated to fastlane/fastlane#3381. Please post all further comments there.
fastlane
is now a mono repo, you can read more about the change in our blog post. All tools are now available in the fastlane main repo
from supply.
Related Issues (20)
- supply lacks support for uploading expansion files HOT 1
- promoting loaded apk HOT 6
- Uploading content ratings? HOT 5
- Whatsnew text is not getting updated when using supply. HOT 7
- Error "The current user has insufficient permissions to perform the requested operation" HOT 6
- Meta Data update sends all files instead of just updated one(s) HOT 2
- Error with supply init HOT 4
- Add Amazon App Store support HOT 3
- Running 'supply init' results in an "[!] no implicit conversion of nil into String (TypeError)" error HOT 5
- no implicit conversion of nil into String HOT 4
- Google::Apis::TransmissionError: execution expired HOT 3
- Publishing both x86 and armv7 apk's of the same app version HOT 2
- [No implicit conversion of nil into String] on supply init HOT 6
- [unsupportedListingLanguage] Provide better error messages HOT 3
- Not downloading existing Screenshots HOT 3
- Execution expired error with supply 0.5.1 HOT 9
- There is no ''client_email" in Google Play Android Developer-*.json HOT 9
- Only update app (Beta) when versionCode is incremented HOT 2
- Dynamic apk path HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from supply.