Description
When building
https://github.com/appcelerator/hyperloop-examples on Windows the build process fails with the following
[INFO] Encrypting JavaScript files: C:\ProgramData\Titanium\mobilesdk\win32\5.4.0.v20160703211246\android\titanium_prep.win32.exe "com.appcelerator.sample.hyperloop" "C:\Users\Ewan\Documents\git\hyperloop-examples\build\android\assets" "alloy/CFG.js" "app.js" "alloy/backbone.js" "alloy/constants.js" "alloy/controllers/alert.js" "alloy/controllers/animateview.js" "alloy/controllers/BaseController.js" "alloy/controllers/blur.js" "alloy/controllers/donutchart.js" "alloy/controllers/drawrect.js" "alloy/controllers/httprequest.js" "alloy/controllers/index.js" "alloy/controllers/label.js" "alloy/controllers/progress.js" "alloy/controllers/shimmer.js" "alloy/controllers/sizefill.js" "alloy/controllers/snackbar.js" "alloy/controllers/touches.js" "alloy/controllers/touchid.js" "alloy/styles/alert.js" "alloy/styles/animateview.js" "alloy/styles/blur.js" "alloy/styles/donutchart.js" "alloy/styles/drawrect.js" "alloy/styles/httprequest.js" "alloy/styles/index.js" "alloy/styles/label.js" "alloy/styles/progress.js" "alloy/styles/shimmer.js" "alloy/styles/sizefill.js" "alloy/styles/snackbar.js" "alloy/styles/touches.js" "alloy/styles/touchid.js" "alloy/sync/localStorage.js" "alloy/sync/properties.js" "alloy/sync/sql.js" "alloy/underscore.js" "alloy/widget.js" "alloy.js" "hyperloop/android.accessibilityservice.AccessibilityServiceInfo.js" "hyperloop/android.accessibilityservice.js" "hyperloop/android.accounts.Account.js" "hyperloop/android.accounts.js" "hyperloop/android.animation.Animator$AnimatorListener.js" "hyperloop/android.animation.Animator$AnimatorPauseListener.js" "hyperloop/android.animation.Animator.js" "hyperloop/android.animation.AnimatorListenerAdapter.js" "hyperloop/android.animation.js" "hyperloop/android.animation.LayoutTransition$TransitionListener.js" "hyperloop/android.animation.LayoutTransition.js" "hyperloop/android.animation.StateListAnimator.js" "hyperloop/android.animation.TimeInterpolator.js" "hyperloop/android.animation.TypeEvaluator.js" "hyperloop/android.animation.ValueAnimator$AnimatorUpdateListener.js" "hyperloop/android.animation.ValueAnimator.js" "hyperloop/android.app.ActionBar$LayoutParams.js" "hyperloop/android.app.ActionBar$OnMenuVisibilityListener.js" "hyperloop/android.app.ActionBar$OnNavigationListener.js" "hyperloop/android.app.ActionBar$Tab.js" "hyperloop/android.app.ActionBar$TabListener.js" "hyperloop/android.app.ActionBar.js" "hyperloop/android.app.Activity.js" "hyperloop/android.app.ActivityGroup.js" "hyperloop/android.app.ActivityManager$AppTask.js" "hyperloop/android.app.ActivityManager$MemoryInfo.js" "hyperloop/android.app.ActivityManager$ProcessErrorStateInfo.js" "hyperloop/android.app.ActivityManager$RecentTaskInfo.js" "hyperloop/android.app.ActivityManager$RunningAppProcessInfo.js" "hyperloop/android.app.ActivityManager$RunningServiceInfo.js" "hyperloop/android.app.ActivityManager$RunningTaskInfo.js" "hyperloop/android.app.ActivityManager$TaskDescription.js" "hyperloop/android.app.ActivityManager.js" "hyperloop/android.app.ActivityOptions.js" "hyperloop/android.app.AlarmManager$AlarmClockInfo.js" "hyperloop/android.app.AlarmManager.js" "hyperloop/android.app.AlertDialog$Builder.js" "hyperloop/android.app.AlertDialog.js" "hyperloop/android.app.AliasActivity.js" "hyperloop/android.app.Application$ActivityLifecycleCallbacks.js" "hyperloop/android.app.Application$OnProvideAssistDataListener.js" "hyperloop/android.app.Application.js" "hyperloop/android.app.ApplicationErrorReport$AnrInfo.js" "hyperloop/android.app.ApplicationErrorReport$BatteryInfo.js" "hyperloop/android.app.ApplicationErrorReport$CrashInfo.js" "hyperloop/android.app.ApplicationErrorReport$RunningServiceInfo.js" "hyperloop/android.app.ApplicationErrorReport.js" "hyperloop/android.app.AppOpsManager$OnOpChangedListener.js" "hyperloop/android.app.AppOpsManager.js" "hyperloop/android.app.assist.AssistContent.js" "hyperloop/android.app.assist.js" "hyperloop/android.app.DatePickerDialog$OnDateSetListener.js" "hyperloop/android.app.DatePickerDialog.js" "hyperloop/android.app.Dialog.js" "hyperloop/android.app.DialogFragment.js" "hyperloop/android.app.DownloadManager$Query.js" "hyperloop/android.app.DownloadManager$Request.js" "hyperloop/android.app.DownloadManager.js" "hyperloop/android.app.ExpandableListActivity.js" "hyperloop/android.app.Fragment$InstantiationException.js" "hyperloop/android.app.Fragment$SavedState.js" "hyperloop/android.app.Fragment.js" "hyperloop/android.app.FragmentBreadCrumbs$OnBreadCrumbClickListener.js" "hyperloop/android.app.FragmentBreadCrumbs.js" "hyperloop/android.app.FragmentContainer.js" "hyperloop/android.app.FragmentController.js" "hyperloop/android.app.FragmentHostCallback.js" "hyperloop/android.app.FragmentManager$BackStackEntry.js" "hyperloop/android.app.FragmentManager$OnBackStackChangedListener.js" "hyperloop/android.app.FragmentManager.js" "hyperloop/android.app.FragmentTransaction.js" "hyperloop/android.app.Instrumentation$ActivityMonitor.js" "hyperloop/android.app.Instrumentation$ActivityResult.js" "hyperloop/android.app.Instrumentation.js" "hyperloop/android.app.IntentService.js" "hyperloop/android.app.js" "hyperloop/android.app.KeyguardManager$KeyguardLock.js" "hyperloop/android.app.KeyguardManager$OnKeyguardExitResult.js" "hyperloop/android.app.KeyguardManager.js" "hyperloop/android.app.LauncherActivity$IconResizer.js" "hyperloop/android.app.LauncherActivity$ListItem.js" "hyperloop/android.app.LauncherActivity.js" "hyperloop/android.app.ListActivity.js" "hyperloop/android.app.ListFragment.js" "hyperloop/android.app.LoaderManager$LoaderCallbacks.js" "hyperloop/android.app.LoaderManager.js" "hyperloop/android.app.LocalActivityManager.js" "hyperloop/android.app.MediaRouteActionProvider.js" "hyperloop/android.app.MediaRouteButton.js" "hyperloop/android.app.NativeActivity.js" "hyperloop/android.app.Notification$Action$Builder.js" "hyperloop/android.app.Notification$Action$Extender.js" "hyperloop/android.app.Notification$Action$WearableExtender.js" "hyperloop/android.app.Notification$Action.js" "hyperloop/android.app.Notification$BigPictureStyle.js" "hyperloop/android.app.Notification$BigTextStyle.js" "hyperloop/android.app.Notification$Builder.js" "hyperloop/android.app.Notification$CarExtender$Builder.js" "hyperloop/android.app.Notification$CarExtender$UnreadConversation.js" "hyperloop/android.app.Notification$CarExtender.js" "hyperloop/android.app.Notification$Extender.js" "hyperloop/android.app.Notification$InboxStyle.js" "hyperloop/android.app.Notification$MediaStyle.js" "hyperloop/android.app.Notification$Style.js" "hyperloop/android.app.Notification$WearableExtender.js" "hyperloop/android.app.Notification.js" "hyperloop/android.app.NotificationManager$Policy.js" "hyperloop/android.app.NotificationManager.js" "hyperloop/android.app.PendingIntent$CanceledException.js" "hyperloop/android.app.PendingIntent$OnFinished.js" "hyperloop/android.app.PendingIntent.js" "hyperloop/android.app.Presentation.js" "hyperloop/android.app.ProgressDialog.js" "hyperloop/android.app.RemoteInput$Builder.js" "hyperloop/android.app.RemoteInput.js" "hyperloop/android.app.SearchableInfo.js" "hyperloop/android.app.SearchManager$OnCancelListener.js" "hyperloop/android.app.SearchManager$OnDismissListener.js" "hyperloop/android.app.SearchManager.js" "hyperloop/android.app.Service.js" "hyperloop/android.app.SharedElementCallback$OnSharedElementsReadyListener.js" "hyperloop/android.app.SharedElementCallback.js" "hyperloop/android.app.TabActivity.js" "hyperloop/android.app.TaskStackBuilder.js" "hyperloop/android.app.TimePickerDialog$OnTimeSetListener.js" "hyperloop/android.app.TimePickerDialog.js" "hyperloop/android.app.UiAutomation$AccessibilityEventFilter.js" "hyperloop/android.app.UiAutomation$OnAccessibilityEventListener.js" "hyperloop/android.app.UiAutomation.js" "hyperloop/android.app.UiModeManager.js" "hyperloop/android.app.VoiceInteractor$AbortVoiceRequest.js" "hyperloop/android.app.VoiceInteractor$CommandRequest.js" "hyperloop/android.app.VoiceInteractor$CompleteVoiceRequest.js" "hyperloop/android.app.VoiceInteractor$ConfirmationRequest.js" "hyperloop/android.app.VoiceInteractor$PickOptionRequest$Option.js" "hyperloop/android.app.VoiceInteractor$PickOptionRequest.js" "hyperloop/android.app.VoiceInteractor$Prompt.js" "hyperloop/android.app.VoiceInteractor$Request.js" "hyperloop/android.app.VoiceInteractor.js" "hyperloop/android.app.WallpaperInfo.js" "hyperloop/android.app.WallpaperManager.js" "hyperloop/android.content.BroadcastReceiver$PendingResult.js" "hyperloop/android.content.BroadcastReceiver.js" "hyperloop/android.content.ClipData$Item.js" "hyperloop/android.content.ClipData.js" "hyperloop/android.content.ClipDescription.js" "hyperloop/android.content.ComponentCallbacks.js" "hyperloop/android.content.ComponentName.js" "hyperloop/android.content.ContentProvider$PipeDataWriter.js" "hyperloop/android.content.ContentProvider.js" "hyperloop/android.content.ContentProviderClient.js" "hyperloop/android.content.ContentResolver.js" "hyperloop/android.content.ContentValues.js" "hyperloop/android.content.Context.js" "hyperloop/android.content.ContextWrapper.js" "hyperloop/android.content.DialogInterface$OnCancelListener.js" "hyperloop/android.content.DialogInterface$OnClickListener.js" "hyperloop/android.content.DialogInterface$OnDismissListener.js" "hyperloop/android.content.DialogInterface$OnKeyListener.js" "hyperloop/android.content.DialogInterface$OnMultiChoiceClickListener.js" "hyperloop/android.content.DialogInterface$OnShowListener.js" "hyperloop/android.content.DialogInterface.js" "hyperloop/android.content.Intent$FilterComparison.js" "hyperloop/android.content.Intent$ShortcutIconResource.js" "hyperloop/android.content.Intent.js" "hyperloop/android.content.IntentFilter$AuthorityEntry.js" "hyperloop/android.content.IntentFilter$MalformedMimeTypeException.js" "hyperloop/android.content.IntentFilter.js" "hyperloop/android.content.IntentSender$OnFinished.js" "hyperloop/android.content.IntentSender$SendIntentException.js" "hyperloop/android.content.IntentSender.js" "hyperloop/android.content.js" "hyperloop/android.content.Loader$ForceLoadContentObserver.js" "hyperloop/android.content.Loader$OnLoadCanceledListener.js" "hyperloop/android.content.Loader$OnLoadCompleteListener.js" "hyperloop/android.content.Loader.js" "hyperloop/android.content.pm.ActivityInfo.js" "hyperloop/android.content.pm.ApplicationInfo$DisplayNameComparator.js" "hyperloop/android.content.pm.ApplicationInfo.js" "hyperloop/android.content.pm.ComponentInfo.js" "hyperloop/android.content.pm.ConfigurationInfo.js" "hyperloop/android.content.pm.InstrumentationInfo.js" "hyperloop/android.content.pm.js" "hyperloop/android.content.pm.PackageInfo.js" "hyperloop/android.content.pm.PackageInstaller$Session.js" "hyperloop/android.content.pm.PackageInstaller$SessionCallback.js" "hyperloop/android.content.pm.PackageInstaller$SessionInfo.js" "hyperloop/android.content.pm.PackageInstaller$SessionParams.js" "hyperloop/android.content.pm.PackageInstaller.js" "hyperloop/android.content.pm.PackageItemInfo$DisplayNameComparator.js" "hyperloop/android.content.pm.PackageItemInfo.js" "hyperloop/android.content.pm.PackageManager$NameNotFoundException.js" "hyperloop/android.content.pm.PackageManager.js" "hyperloop/android.content.pm.PermissionGroupInfo.js" "hyperloop/android.content.pm.PermissionInfo.js" "hyperloop/android.content.pm.ProviderInfo.js" "hyperloop/android.content.pm.ResolveInfo$DisplayNameComparator.js" "hyperloop/android.content.pm.ResolveInfo.js" "hyperloop/android.content.pm.ServiceInfo.js" "hyperloop/android.content.res.AssetFileDescriptor$AutoCloseInputStream.js" "hyperloop/android.content.res.AssetFileDescriptor$AutoCloseOutputStream.js" "hyperloop/android.content.res.AssetFileDescriptor.js" "hyperloop/android.content.res.AssetManager$AssetInputStream.js" "hyperloop/android.content.res.AssetManager.js" "hyperloop/android.content.res.ColorStateList.js" "hyperloop/android.content.res.Configuration.js" "hyperloop/android.content.res.js" "hyperloop/android.content.res.Resources$NotFoundException.js" "hyperloop/android.content.res.Resources$Theme.js" "hyperloop/android.content.res.Resources.js" "hyperloop/android.content.res.TypedArray.js" "hyperloop/android.content.res.XmlResourceParser.js" "hyperloop/android.content.ServiceConnection.js" "hyperloop/android.content.SharedPreferences$Editor.js" "hyperloop/android.content.SharedPreferences$OnSharedPreferenceChangeListener.js" "hyperloop/android.content.SharedPreferences.js" "hyperloop/android.content.SyncInfo.js" "hyperloop/android.content.SyncRequest$Builder.js" "hyperloop/android.content.SyncRequest.js" "hyperloop/android.content.SyncStatusObserver.js" "hyperloop/android.database.CharArrayBuffer.js" "hyperloop/android.database.ContentObserver.js" "hyperloop/android.database.Cursor.js" "hyperloop/android.database.DatabaseErrorHandler.js" "hyperloop/android.database.DataSetObserver.js" "hyperloop/android.database.js" "hyperloop/android.database.sqlite.js" "hyperloop/android.database.sqlite.SQLiteClosable.js" "hyperloop/android.database.sqlite.SQLiteCursorDriver.js" "hyperloop/android.database.sqlite.SQLiteDatabase$CursorFactory.js" "hyperloop/android.database.sqlite.SQLiteDatabase.js" "hyperloop/android.database.sqlite.SQLiteProgram.js" "hyperloop/android.database.sqlite.SQLiteQuery.js" "hyperloop/android.database.sqlite.SQLiteStatement.js" "hyperloop/android.database.sqlite.SQLiteTransactionListener.js" "hyperloop/android.graphics.Bitmap$CompressFormat.js" "hyperloop/android.graphics.Bitmap$Config.js" "hyperloop/android.graphics.Bitmap.js" "hyperloop/android.graphics.BitmapFactory$Options.js" "hyperloop/android.graphics.BitmapFactory.js" "hyperloop/android.graphics.Canvas$EdgeType.js" "hyperloop/android.graphics.Canvas$VertexMode.js" "hyperloop/android.graphics.Canvas.js" "hyperloop/android.graphics.Color.js" "hyperloop/android.graphics.ColorFilter.js" "hyperloop/android.graphics.drawable.Drawable$Callback.js" "hyperloop/android.graphics.drawable.Drawable$ConstantState.js" "hyperloop/android.graphics.drawable.Drawable.js" "hyperloop/android.graphics.drawable.Icon$OnDrawableLoadedListener.js" "hyperloop/android.graphics.drawable.Icon.js" "hyperloop/android.graphics.drawable.js" "hyperloop/android.graphics.DrawFilter.js" "hyperloop/android.graphics.js" "hyperloop/android.graphics.MaskFilter.js" "hyperloop/android.graphics.Matrix$ScaleToFit.js" "hyperloop/android.graphics.Matrix.js" "hyperloop/android.graphics.Movie.js" "hyperloop/android.graphics.Outline.js" "hyperloop/android.graphics.Paint$Align.js" "hyperloop/android.graphics.Paint$Cap.js" "hyperloop/android.graphics.Paint$FontMetrics.js" "hyperloop/android.graphics.Paint$FontMetricsInt.js" "hyperloop/android.graphics.Paint$Join.js" "hyperloop/android.graphics.Paint$Style.js" "hyperloop/android.graphics.Paint.js" "hyperloop/android.graphics.Path$Direction.js" "hyperloop/android.graphics.Path$FillType.js" "hyperloop/android.graphics.Path$Op.js" "hyperloop/android.graphics.Path.js" "hyperloop/android.graphics.PathEffect.js" "hyperloop/android.graphics.Picture.js" "hyperloop/android.graphics.Point.js" "hyperloop/android.graphics.PorterDuff$Mode.js" "hyperloop/android.graphics.PorterDuff.js" "hyperloop/android.graphics.Rasterizer.js" "hyperloop/android.graphics.Rect.js" "hyperloop/android.graphics.RectF.js" "hyperloop/android.graphics.Region$Op.js" "hyperloop/android.graphics.Region.js" "hyperloop/android.graphics.Shader$TileMode.js" "hyperloop/android.graphics.Shader.js" "hyperloop/android.graphics.SurfaceTexture$OnFrameAvailableListener.js" "hyperloop/android.graphics.SurfaceTexture$OutOfResourcesException.js" "hyperloop/android.graphics.SurfaceTexture.js" "hyperloop/android.graphics.Typeface.js" "hyperloop/android.graphics.Xfermode.js" "hyperloop/android.hardware.fingerprint.FingerprintManager$AuthenticationCallback.js" "hyperloop/android.hardware.fingerprint.FingerprintManager$AuthenticationResult.js" "hyperloop/android.hardware.fingerprint.FingerprintManager$CryptoObject.js" "hyperloop/android.hardware.fingerprint.FingerprintManager.js" "hyperloop/android.hardware.fingerprint.js" "hyperloop/android.hardware.js" "hyperloop/android.js" "hyperloop/android.media.AudioAttributes$Builder.js" "hyperloop/android.media.AudioAttributes.js" "hyperloop/android.media.js" "hyperloop/android.media.MediaDescription$Builder.js" "hyperloop/android.media.MediaDescription.js" "hyperloop/android.media.MediaMetadata$Builder.js" "hyperloop/android.media.MediaMetadata.js" "hyperloop/android.media.Rating.js" "hyperloop/android.media.session.js" "hyperloop/android.media.session.MediaController$Callback.js" "hyperloop/android.media.session.MediaController$PlaybackInfo.js" "hyperloop/android.media.session.MediaController$TransportControls.js" "hyperloop/android.media.session.MediaController.js" "hyperloop/android.media.session.MediaSession$Token.js" "hyperloop/android.media.session.MediaSession.js" "hyperloop/android.media.session.PlaybackState$Builder.js" "hyperloop/android.media.session.PlaybackState$CustomAction$Builder.js" "hyperloop/android.media.session.PlaybackState$CustomAction.js" "hyperloop/android.media.session.PlaybackState.js" "hyperloop/android.net.js" "hyperloop/android.net.Uri$Builder.js" "hyperloop/android.net.Uri.js" "hyperloop/android.os.BaseBundle.js" "hyperloop/android.os.Bundle.js" "hyperloop/android.os.CancellationSignal$OnCancelListener.js" "hyperloop/android.os.CancellationSignal.js" "hyperloop/android.os.Handler$Callback.js" "hyperloop/android.os.Handler.js" "hyperloop/android.os.IBinder$DeathRecipient.js" "hyperloop/android.os.IBinder.js" "hyperloop/android.os.IInterface.js" "hyperloop/android.os.js" "hyperloop/android.os.Looper.js" "hyperloop/android.os.Message.js" "hyperloop/android.os.MessageQueue$IdleHandler.js" "hyperloop/android.os.MessageQueue$OnFileDescriptorEventListener.js" "hyperloop/android.os.MessageQueue.js" "hyperloop/android.os.Messenger.js" "hyperloop/android.os.Parcel.js" "hyperloop/android.os.Parcelable$ClassLoaderCreator.js" "hyperloop/android.os.Parcelable$Creator.js" "hyperloop/android.os.Parcelable.js" "hyperloop/android.os.ParcelFileDescriptor$AutoCloseInputStream.js" "hyperloop/android.os.ParcelFileDescriptor$AutoCloseOutputStream.js" "hyperloop/android.os.ParcelFileDescriptor$FileDescriptorDetachedException.js" "hyperloop/android.os.ParcelFileDescriptor$OnCloseListener.js" "hyperloop/android.os.ParcelFileDescriptor.js" "hyperloop/android.os.PatternMatcher.js" "hyperloop/android.os.PersistableBundle.js" "hyperloop/android.os.ResultReceiver.js" "hyperloop/android.os.UserHandle.js" "hyperloop/android.os.Vibrator.js" "hyperloop/android.renderscript.Allocation$MipmapControl.js" "hyperloop/android.renderscript.Allocation$OnBufferAvailableListener.js" "hyperloop/android.renderscript.Allocation.js" "hyperloop/android.renderscript.BaseObj.js" "hyperloop/android.renderscript.Byte2.js" "hyperloop/android.renderscript.Byte3.js" "hyperloop/android.renderscript.Byte4.js" "hyperloop/android.renderscript.Double2.js" "hyperloop/android.renderscript.Double3.js" "hyperloop/android.renderscript.Double4.js" "hyperloop/android.renderscript.Element$Builder.js" "hyperloop/android.renderscript.Element$DataKind.js" "hyperloop/android.renderscript.Element$DataType.js" "hyperloop/android.renderscript.Element.js" "hyperloop/android.renderscript.FieldPacker.js" "hyperloop/android.renderscript.Float2.js" "hyperloop/android.renderscript.Float3.js" "hyperloop/android.renderscript.Float4.js" "hyperloop/android.renderscript.Int2.js" "hyperloop/android.renderscript.Int3.js" "hyperloop/android.renderscript.Int4.js" "hyperloop/android.renderscript.js" "hyperloop/android.renderscript.Long2.js" "hyperloop/android.renderscript.Long3.js" "hyperloop/android.renderscript.Long4.js" "hyperloop/android.renderscript.Matrix2f.js" "hyperloop/android.renderscript.Matrix3f.js" "hyperloop/android.renderscript.Matrix4f.js" "hyperloop/android.renderscript.RenderScript$ContextType.js" "hyperloop/android.renderscript.RenderScript$Priority.js" "hyperloop/android.renderscript.RenderScript$RSErrorHandler.js" "hyperloop/android.renderscript.RenderScript$RSMessageHandler.js" "hyperloop/android.renderscript.RenderScript.js" "hyperloop/android.renderscript.Script$Builder.js" "hyperloop/android.renderscript.Script$FieldBase.js" "hyperloop/android.renderscript.Script$FieldID.js" "hyperloop/android.renderscript.Script$InvokeID.js" "hyperloop/android.renderscript.Script$KernelID.js" "hyperloop/android.renderscript.Script$LaunchOptions.js" "hyperloop/android.renderscript.Script.js" "hyperloop/android.renderscript.ScriptIntrinsic.js" "hyperloop/android.renderscript.ScriptIntrinsicBlur.js" "hyperloop/android.renderscript.Short2.js" "hyperloop/android.renderscript.Short3.js" "hyperloop/android.renderscript.Short4.js" "hyperloop/android.renderscript.Type$Builder.js" "hyperloop/android.renderscript.Type$CubemapFace.js" "hyperloop/android.renderscript.Type.js" "hyperloop/android.security.js" "hyperloop/android.security.keystore.js" "hyperloop/android.security.keystore.KeyGenParameterSpec$Builder.js" "hyperloop/android.security.keystore.KeyGenParameterSpec.js" "hyperloop/android.security.keystore.KeyProperties.js" "hyperloop/android.support.design.js" "hyperloop/android.support.design.widget.js" "hyperloop/android.support.design.widget.Snackbar$Callback$DismissEvent.js" "hyperloop/android.support.design.widget.Snackbar$Callback.js" "hyperloop/android.support.design.widget.Snackbar$Duration.js" "hyperloop/android.support.design.widget.Snackbar$SnackbarLayout.js" "hyperloop/android.support.design.widget.Snackbar.js" "hyperloop/android.support.js" "hyperloop/android.text.Editable$Factory.js" "hyperloop/android.text.Editable.js" "hyperloop/android.text.js" "hyperloop/android.text.Layout$Alignment.js" "hyperloop/android.text.Layout$Directions.js" "hyperloop/android.text.Layout.js" "hyperloop/android.text.method.js" "hyperloop/android.text.method.KeyListener.js" "hyperloop/android.text.method.MovementMethod.js" "hyperloop/android.text.method.TransformationMethod.js" "hyperloop/android.text.Spannable$Factory.js" "hyperloop/android.text.Spannable.js" "hyperloop/android.text.TextPaint.js" "hyperloop/android.text.TextUtils$TruncateAt.js" "hyperloop/android.text.TextUtils.js" "hyperloop/android.text.TextWatcher.js" "hyperloop/android.transition.js" "hyperloop/android.transition.PathMotion.js" "hyperloop/android.transition.Scene.js" "hyperloop/android.transition.Transition$EpicenterCallback.js" "hyperloop/android.transition.Transition$TransitionListener.js" "hyperloop/android.transition.Transition.js" "hyperloop/android.transition.TransitionManager.js" "hyperloop/android.transition.TransitionPropagation.js" "hyperloop/android.transition.TransitionValues.js" "hyperloop/android.util.ArrayMap.js" "hyperloop/android.util.AttributeSet.js" "hyperloop/android.util.DisplayMetrics.js" "hyperloop/android.util.js" "hyperloop/android.util.Printer.js" "hyperloop/android.util.Property.js" "hyperloop/android.util.Size.js" "hyperloop/android.util.SizeF.js" "hyperloop/android.util.SparseArray.js" "hyperloop/android.util.SparseBooleanArray.js" "hyperloop/android.util.TypedValue.js" "hyperloop/android.view.accessibility.AccessibilityEvent.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo$CollectionInfo.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo$RangeInfo.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo.js" "hyperloop/android.view.accessibility.AccessibilityNodeProvider.js" "hyperloop/android.view.accessibility.AccessibilityRecord.js" "hyperloop/android.view.accessibility.AccessibilityWindowInfo.js" "hyperloop/android.view.accessibility.js" "hyperloop/android.view.ActionMode$Callback.js" "hyperloop/android.view.ActionMode$Callback2.js" "hyperloop/android.view.ActionMode.js" "hyperloop/android.view.ActionProvider$VisibilityListener.js" "hyperloop/android.view.ActionProvider.js" "hyperloop/android.view.animation.Animation$AnimationListener.js" "hyperloop/android.view.animation.Animation$Description.js" "hyperloop/android.view.animation.Animation.js" "hyperloop/android.view.animation.BaseInterpolator.js" "hyperloop/android.view.animation.Interpolator.js" "hyperloop/android.view.animation.js" "hyperloop/android.view.animation.LayoutAnimationController$AnimationParameters.js" "hyperloop/android.view.animation.LayoutAnimationController.js" "hyperloop/android.view.animation.LinearInterpolator.js" "hyperloop/android.view.animation.Transformation.js" "hyperloop/android.view.ContextMenu$ContextMenuInfo.js" "hyperloop/android.view.ContextMenu.js" "hyperloop/android.view.ContextThemeWrapper.js" "hyperloop/android.view.Display$Mode.js" "hyperloop/android.view.Display.js" "hyperloop/android.view.DragEvent.js" "hyperloop/android.view.FrameStats.js" "hyperloop/android.view.Gravity.js" "hyperloop/android.view.InputDevice$MotionRange.js" "hyperloop/android.view.InputDevice.js" "hyperloop/android.view.InputEvent.js" "hyperloop/android.view.inputmethod.CompletionInfo.js" "hyperloop/android.view.inputmethod.CorrectionInfo.js" "hyperloop/android.view.inputmethod.EditorInfo.js" "hyperloop/android.view.inputmethod.ExtractedText.js" "hyperloop/android.view.inputmethod.ExtractedTextRequest.js" "hyperloop/android.view.inputmethod.InputConnection.js" "hyperloop/android.view.inputmethod.js" "hyperloop/android.view.InputQueue$Callback.js" "hyperloop/android.view.InputQueue.js" "hyperloop/android.view.js" "hyperloop/android.view.KeyCharacterMap$KeyData.js" "hyperloop/android.view.KeyCharacterMap$UnavailableException.js" "hyperloop/android.view.KeyCharacterMap.js" "hyperloop/android.view.KeyEvent$Callback.js" "hyperloop/android.view.KeyEvent$DispatcherState.js" "hyperloop/android.view.KeyEvent.js" "hyperloop/android.view.LayoutInflater$Factory.js" "hyperloop/android.view.LayoutInflater$Factory2.js" "hyperloop/android.view.LayoutInflater$Filter.js" "hyperloop/android.view.LayoutInflater.js" "hyperloop/android.view.Menu.js" "hyperloop/android.view.MenuInflater.js" "hyperloop/android.view.MenuItem$OnActionExpandListener.js" "hyperloop/android.view.MenuItem$OnMenuItemClickListener.js" "hyperloop/android.view.MenuItem.js" "hyperloop/android.view.MotionEvent$PointerCoords.js" "hyperloop/android.view.MotionEvent$PointerProperties.js" "hyperloop/android.view.MotionEvent.js" "hyperloop/android.view.SearchEvent.js" "hyperloop/android.view.SubMenu.js" "hyperloop/android.view.Surface$OutOfResourcesException.js" "hyperloop/android.view.Surface.js" "hyperloop/android.view.SurfaceHolder$BadSurfaceTypeException.js" "hyperloop/android.view.SurfaceHolder$Callback.js" "hyperloop/android.view.SurfaceHolder$Callback2.js" "hyperloop/android.view.SurfaceHolder.js" "hyperloop/android.view.TouchDelegate.js" "hyperloop/android.view.View$AccessibilityDelegate.js" "hyperloop/android.view.View$BaseSavedState.js" "hyperloop/android.view.View$DragShadowBuilder.js" "hyperloop/android.view.View$MeasureSpec.js" "hyperloop/android.view.View$OnApplyWindowInsetsListener.js" "hyperloop/android.view.View$OnAttachStateChangeListener.js" "hyperloop/android.view.View$OnClickListener.js" "hyperloop/android.view.View$OnContextClickListener.js" "hyperloop/android.view.View$OnCreateContextMenuListener.js" "hyperloop/android.view.View$OnDragListener.js" "hyperloop/android.view.View$OnFocusChangeListener.js" "hyperloop/android.view.View$OnGenericMotionListener.js" "hyperloop/android.view.View$OnHoverListener.js" "hyperloop/android.view.View$OnKeyListener.js" "hyperloop/android.view.View$OnLayoutChangeListener.js" "hyperloop/android.view.View$OnLongClickListener.js" "hyperloop/android.view.View$OnScrollChangeListener.js" "hyperloop/android.view.View$OnSystemUiVisibilityChangeListener.js" "hyperloop/android.view.View$OnTouchListener.js" "hyperloop/android.view.View.js" "hyperloop/android.view.ViewGroup$LayoutParams.js" "hyperloop/android.view.ViewGroup$MarginLayoutParams.js" "hyperloop/android.view.ViewGroup$OnHierarchyChangeListener.js" "hyperloop/android.view.ViewGroup.js" "hyperloop/android.view.ViewGroupOverlay.js" "hyperloop/android.view.ViewOutlineProvider.js" "hyperloop/android.view.ViewOverlay.js" "hyperloop/android.view.ViewParent.js" "hyperloop/android.view.ViewPropertyAnimator.js" "hyperloop/android.view.ViewStructure.js" "hyperloop/android.view.ViewTreeObserver$OnDrawListener.js" "hyperloop/android.view.ViewTreeObserver$OnGlobalFocusChangeListener.js" "hyperloop/android.view.ViewTreeObserver$OnGlobalLayoutListener.js" "hyperloop/android.view.ViewTreeObserver$OnPreDrawListener.js" "hyperloop/android.view.ViewTreeObserver$OnScrollChangedListener.js" "hyperloop/android.view.ViewTreeObserver$OnTouchModeChangeListener.js" "hyperloop/android.view.ViewTreeObserver$OnWindowAttachListener.js" "hyperloop/android.view.ViewTreeObserver$OnWindowFocusChangeListener.js" "hyperloop/android.view.ViewTreeObserver.js" "hyperloop/android.view.Window$Callback.js" "hyperloop/android.view.Window.js" "hyperloop/android.view.WindowAnimationFrameStats.js" "hyperloop/android.view.WindowContentFrameStats.js" "hyperloop/android.view.WindowId$FocusObserver.js" "hyperloop/android.view.WindowId.js" "hyperloop/android.view.WindowInsets.js" "hyperloop/android.view.WindowManager$BadTokenException.js" "hyperloop/android.view.WindowManager$InvalidDisplayException.js" "hyperloop/android.view.WindowManager$LayoutParams.js" "hyperloop/android.view.WindowManager.js" "hyperloop/android.widget.AbsListView$LayoutParams.js" "hyperloop/android.widget.AbsListView$MultiChoiceModeListener.js" "hyperloop/android.widget.AbsListView$OnScrollListener.js" "hyperloop/android.widget.AbsListView$RecyclerListener.js" "hyperloop/android.widget.AbsListView$SelectionBoundsAdjuster.js" "hyperloop/android.widget.AbsListView.js" "hyperloop/android.widget.Adapter.js" "hyperloop/android.widget.AdapterView$AdapterContextMenuInfo.js" "hyperloop/android.widget.AdapterView$OnItemClickListener.js" "hyperloop/android.widget.AdapterView$OnItemLongClickListener.js" "hyperloop/android.widget.AdapterView$OnItemSelectedListener.js" "hyperloop/android.widget.AdapterView.js" "hyperloop/android.widget.Button.js" "hyperloop/android.widget.CalendarView$OnDateChangeListener.js" "hyperloop/android.widget.CalendarView.js" "hyperloop/android.widget.DatePicker$OnDateChangedListener.js" "hyperloop/android.widget.DatePicker.js" "hyperloop/android.widget.ExpandableListAdapter.js" "hyperloop/android.widget.ExpandableListView$ExpandableListContextMenuInfo.js" "hyperloop/android.widget.ExpandableListView$OnChildClickListener.js" "hyperloop/android.widget.ExpandableListView$OnGroupClickListener.js" "hyperloop/android.widget.ExpandableListView$OnGroupCollapseListener.js" "hyperloop/android.widget.ExpandableListView$OnGroupExpandListener.js" "hyperloop/android.widget.ExpandableListView.js" "hyperloop/android.widget.FrameLayout$LayoutParams.js" "hyperloop/android.widget.FrameLayout.js" "hyperloop/android.widget.ImageView$ScaleType.js" "hyperloop/android.widget.ImageView.js" "hyperloop/android.widget.js" "hyperloop/android.widget.LinearLayout$LayoutParams.js" "hyperloop/android.widget.LinearLayout.js" "hyperloop/android.widget.ListAdapter.js" "hyperloop/android.widget.ListView$FixedViewInfo.js" "hyperloop/android.widget.ListView.js" "hyperloop/android.widget.RemoteViews$ActionException.js" "hyperloop/android.widget.RemoteViews$RemoteView.js" "hyperloop/android.widget.RemoteViews.js" "hyperloop/android.widget.Scroller.js" "hyperloop/android.widget.SpinnerAdapter.js" "hyperloop/android.widget.TabHost$OnTabChangeListener.js" "hyperloop/android.widget.TabHost$TabContentFactory.js" "hyperloop/android.widget.TabHost$TabSpec.js" "hyperloop/android.widget.TabHost.js" "hyperloop/android.widget.TabWidget.js" "hyperloop/android.widget.TextView$BufferType.js" "hyperloop/android.widget.TextView$OnEditorActionListener.js" "hyperloop/android.widget.TextView$SavedState.js" "hyperloop/android.widget.TextView.js" "hyperloop/android.widget.TimePicker$OnTimeChangedListener.js" "hyperloop/android.widget.TimePicker.js" "hyperloop/android.widget.Toolbar$LayoutParams.js" "hyperloop/android.widget.Toolbar$OnMenuItemClickListener.js" "hyperloop/android.widget.Toolbar.js" "hyperloop/com.android.js" "hyperloop/com.android.volley.AuthFailureError.js" "hyperloop/com.android.volley.BuildConfig.js" "hyperloop/com.android.volley.Cache$Entry.js" "hyperloop/com.android.volley.Cache.js" "hyperloop/com.android.volley.CacheDispatcher.js" "hyperloop/com.android.volley.DefaultRetryPolicy.js" "hyperloop/com.android.volley.ExecutorDelivery.js" "hyperloop/com.android.volley.js" "hyperloop/com.android.volley.Network.js" "hyperloop/com.android.volley.NetworkDispatcher.js" "hyperloop/com.android.volley.NetworkError.js" "hyperloop/com.android.volley.NetworkResponse.js" "hyperloop/com.android.volley.NoConnectionError.js" "hyperloop/com.android.volley.ParseError.js" "hyperloop/com.android.volley.Request$Method.js" "hyperloop/com.android.volley.Request$Priority.js" "hyperloop/com.android.volley.Request.js" "hyperloop/com.android.volley.RequestQueue$RequestFilter.js" "hyperloop/com.android.volley.RequestQueue.js" "hyperloop/com.android.volley.Response$ErrorListener.js" "hyperloop/com.android.volley.Response$Listener.js" "hyperloop/com.android.volley.Response.js" "hyperloop/com.android.volley.ResponseDelivery.js" "hyperloop/com.android.volley.RetryPolicy.js" "hyperloop/com.android.volley.ServerError.js" "hyperloop/com.android.volley.TimeoutError.js" "hyperloop/com.android.volley.toolbox.AndroidAuthenticator.js" "hyperloop/com.android.volley.toolbox.Authenticator.js" "hyperloop/com.android.volley.toolbox.BasicNetwork.js" "hyperloop/com.android.volley.toolbox.ByteArrayPool.js" "hyperloop/com.android.volley.toolbox.ClearCacheRequest.js" "hyperloop/com.android.volley.toolbox.DiskBasedCache.js" "hyperloop/com.android.volley.toolbox.HttpClientStack$HttpPatch.js" "hyperloop/com.android.volley.toolbox.HttpClientStack.js" "hyperloop/com.android.volley.toolbox.HttpHeaderParser.js" "hyperloop/com.android.volley.toolbox.HttpStack.js" "hyperloop/com.android.volley.toolbox.HurlStack$UrlRewriter.js" "hyperloop/com.android.volley.toolbox.HurlStack.js" "hyperloop/com.android.volley.toolbox.ImageLoader$ImageCache.js" "hyperloop/com.android.volley.toolbox.ImageLoader$ImageContainer.js" "hyperloop/com.android.volley.toolbox.ImageLoader$ImageListener.js" "hyperloop/com.android.volley.toolbox.ImageLoader.js" "hyperloop/com.android.volley.toolbox.ImageRequest.js" "hyperloop/com.android.volley.toolbox.js" "hyperloop/com.android.volley.toolbox.JsonArrayRequest.js" "hyperloop/com.android.volley.toolbox.JsonObjectRequest.js" "hyperloop/com.android.volley.toolbox.JsonRequest.js" "hyperloop/com.android.volley.toolbox.NetworkImageView.js" "hyperloop/com.android.volley.toolbox.NoCache.js" "hyperloop/com.android.volley.toolbox.PoolingByteArrayOutputStream.js" "hyperloop/com.android.volley.toolbox.RequestFuture.js" "hyperloop/com.android.volley.toolbox.StringRequest.js" "hyperloop/com.android.volley.toolbox.Volley.js" "hyperloop/com.android.volley.VolleyError.js" "hyperloop/com.android.volley.VolleyLog.js" "hyperloop/com.facebook.js" "hyperloop/com.facebook.shimmer.js" "hyperloop/com.facebook.shimmer.ShimmerFrameLayout$MaskAngle.js" "hyperloop/com.facebook.shimmer.ShimmerFrameLayout$MaskShape.js" "hyperloop/com.facebook.shimmer.ShimmerFrameLayout.js" "hyperloop/com.js" "hyperloop/java.io.ByteArrayOutputStream.js" "hyperloop/java.io.File.js" "hyperloop/java.io.FileDescriptor.js" "hyperloop/java.io.FileFilter.js" "hyperloop/java.io.FileInputStream.js" "hyperloop/java.io.FilenameFilter.js" "hyperloop/java.io.FileOutputStream.js" "hyperloop/java.io.FilterOutputStream.js" "hyperloop/java.io.InputStream.js" "hyperloop/java.io.IOException.js" "hyperloop/java.io.js" "hyperloop/java.io.OutputStream.js" "hyperloop/java.io.PrintStream.js" "hyperloop/java.io.PrintWriter.js" "hyperloop/java.io.Reader.js" "hyperloop/java.io.Serializable.js" "hyperloop/java.io.Writer.js" "hyperloop/java.js" "hyperloop/java.lang.annotation.Annotation.js" "hyperloop/java.lang.annotation.js" "hyperloop/java.lang.Appendable.js" "hyperloop/java.lang.Boolean.js" "hyperloop/java.lang.Byte.js" "hyperloop/java.lang.CharSequence.js" "hyperloop/java.lang.Class.js" "hyperloop/java.lang.ClassLoader.js" "hyperloop/java.lang.Double.js" "hyperloop/java.lang.Enum.js" "hyperloop/java.lang.Exception.js" "hyperloop/java.lang.Float.js" "hyperloop/java.lang.Integer.js" "hyperloop/java.lang.Iterable.js" "hyperloop/java.lang.js" "hyperloop/java.lang.Long.js" "hyperloop/java.lang.Number.js" "hyperloop/java.lang.Object.js" "hyperloop/java.lang.Package.js" "hyperloop/java.lang.reflect.AccessibleObject.js" "hyperloop/java.lang.reflect.Constructor.js" "hyperloop/java.lang.reflect.Field.js" "hyperloop/java.lang.reflect.js" "hyperloop/java.lang.reflect.Method.js" "hyperloop/java.lang.reflect.Type.js" "hyperloop/java.lang.Runnable.js" "hyperloop/java.lang.Short.js" "hyperloop/java.lang.String.js" "hyperloop/java.lang.StringBuffer.js" "hyperloop/java.lang.StringBuilder.js" "hyperloop/java.lang.Thread$State.js" "hyperloop/java.lang.Thread$UncaughtExceptionHandler.js" "hyperloop/java.lang.Thread.js" "hyperloop/java.lang.ThreadGroup.js" "hyperloop/java.lang.Throwable.js" "hyperloop/java.math.BigInteger.js" "hyperloop/java.math.js" "hyperloop/java.math.RoundingMode.js" "hyperloop/java.net.ContentHandler.js" "hyperloop/java.net.ContentHandlerFactory.js" "hyperloop/java.net.DatagramPacket.js" "hyperloop/java.net.DatagramSocket.js" "hyperloop/java.net.DatagramSocketImpl.js" "hyperloop/java.net.DatagramSocketImplFactory.js" "hyperloop/java.net.FileNameMap.js" "hyperloop/java.net.HttpURLConnection.js" "hyperloop/java.net.InetAddress.js" "hyperloop/java.net.js" "hyperloop/java.net.NetworkInterface.js" "hyperloop/java.net.ProtocolFamily.js" "hyperloop/java.net.Proxy$Type.js" "hyperloop/java.net.Proxy.js" "hyperloop/java.net.ServerSocket.js" "hyperloop/java.net.Socket.js" "hyperloop/java.net.SocketAddress.js" "hyperloop/java.net.SocketImpl.js" "hyperloop/java.net.SocketImplFactory.js" "hyperloop/java.net.SocketOption.js" "hyperloop/java.net.URI.js" "hyperloop/java.net.URL.js" "hyperloop/java.net.URLConnection.js" "hyperloop/java.net.URLStreamHandler.js" "hyperloop/java.net.URLStreamHandlerFactory.js" "hyperloop/java.nio.Buffer.js" "hyperloop/java.nio.ByteBuffer.js" "hyperloop/java.nio.ByteOrder.js" "hyperloop/java.nio.channels.AsynchronousFileChannel.js" "hyperloop/java.nio.channels.Channel.js" "hyperloop/java.nio.channels.CompletionHandler.js" "hyperloop/java.nio.channels.DatagramChannel.js" "hyperloop/java.nio.channels.FileChannel$MapMode.js" "hyperloop/java.nio.channels.FileChannel.js" "hyperloop/java.nio.channels.FileLock.js" "hyperloop/java.nio.channels.js" "hyperloop/java.nio.channels.NetworkChannel.js" "hyperloop/java.nio.channels.Pipe$SinkChannel.js" "hyperloop/java.nio.channels.Pipe$SourceChannel.js" "hyperloop/java.nio.channels.Pipe.js" "hyperloop/java.nio.channels.ReadableByteChannel.js" "hyperloop/java.nio.channels.SeekableByteChannel.js" "hyperloop/java.nio.channels.SelectableChannel.js" "hyperloop/java.nio.channels.SelectionKey.js" "hyperloop/java.nio.channels.Selector.js" "hyperloop/java.nio.channels.ServerSocketChannel.js" "hyperloop/java.nio.channels.SocketChannel.js" "hyperloop/java.nio.channels.spi.AbstractInterruptibleChannel.js" "hyperloop/java.nio.channels.spi.AbstractSelectableChannel.js" "hyperloop/java.nio.channels.spi.AbstractSelectionKey.js" "hyperloop/java.nio.channels.spi.AbstractSelector.js" "hyperloop/java.nio.channels.spi.js" "hyperloop/java.nio.channels.spi.SelectorProvider.js" "hyperloop/java.nio.channels.WritableByteChannel.js" "hyperloop/java.nio.CharBuffer.js" "hyperloop/java.nio.charset.Charset.js" "hyperloop/java.nio.charset.CharsetDecoder.js" "hyperloop/java.nio.charset.CharsetEncoder.js" "hyperloop/java.nio.charset.CoderResult.js" "hyperloop/java.nio.charset.CodingErrorAction.js" "hyperloop/java.nio.charset.js" "hyperloop/java.nio.DoubleBuffer.js" "hyperloop/java.nio.file.attribute.BasicFileAttributes.js" "hyperloop/java.nio.file.attribute.FileAttributeView.js" "hyperloop/java.nio.file.attribute.FileStoreAttributeView.js" "hyperloop/java.nio.file.attribute.FileTime.js" "hyperloop/java.nio.file.attribute.GroupPrincipal.js" "hyperloop/java.nio.file.attribute.js" "hyperloop/java.nio.file.attribute.UserPrincipal.js" "hyperloop/java.nio.file.attribute.UserPrincipalLookupService.js" "hyperloop/java.nio.file.DirectoryStream$Filter.js" "hyperloop/java.nio.file.DirectoryStream.js" "hyperloop/java.nio.file.FileStore.js" "hyperloop/java.nio.file.FileSystem.js" "hyperloop/java.nio.file.js" "hyperloop/java.nio.file.Path.js" "hyperloop/java.nio.file.PathMatcher.js" "hyperloop/java.nio.file.spi.FileSystemProvider.js" "hyperloop/java.nio.file.spi.js" "hyperloop/java.nio.file.Watchable.js" "hyperloop/java.nio.file.WatchKey.js" "hyperloop/java.nio.file.WatchService.js" "hyperloop/java.nio.FloatBuffer.js" "hyperloop/java.nio.IntBuffer.js" "hyperloop/java.nio.js" "hyperloop/java.nio.LongBuffer.js" "hyperloop/java.nio.MappedByteBuffer.js" "hyperloop/java.nio.ShortBuffer.js" "hyperloop/java.security.AlgorithmParameters.js" "hyperloop/java.security.AlgorithmParametersSpi.js" "hyperloop/java.security.cert.Certificate$CertificateRep.js" "hyperloop/java.security.cert.Certificate.js" "hyperloop/java.security.cert.js" "hyperloop/java.security.CodeSource.js" "hyperloop/java.security.js" "hyperloop/java.security.Key.js" "hyperloop/java.security.KeyStore$Builder.js" "hyperloop/java.security.KeyStore$CallbackHandlerProtection.js" "hyperloop/java.security.KeyStore$Entry.js" "hyperloop/java.security.KeyStore$LoadStoreParameter.js" "hyperloop/java.security.KeyStore$PasswordProtection.js" "hyperloop/java.security.KeyStore$PrivateKeyEntry.js" "hyperloop/java.security.KeyStore$ProtectionParameter.js" "hyperloop/java.security.KeyStore$SecretKeyEntry.js" "hyperloop/java.security.KeyStore$TrustedCertificateEntry.js" "hyperloop/java.security.KeyStore.js" "hyperloop/java.security.KeyStoreSpi.js" "hyperloop/java.security.Permission.js" "hyperloop/java.security.PermissionCollection.js" "hyperloop/java.security.PrivateKey.js" "hyperloop/java.security.ProtectionDomain.js" "hyperloop/java.security.Provider$Service.js" "hyperloop/java.security.Provider.js" "hyperloop/java.security.PublicKey.js" "hyperloop/java.security.SecureRandom.js" "hyperloop/java.security.SecureRandomSpi.js" "hyperloop/java.security.Signature.js" "hyperloop/java.security.SignatureSpi.js" "hyperloop/java.security.spec.AlgorithmParameterSpec.js" "hyperloop/java.security.spec.js" "hyperloop/java.text.AttributedCharacterIterator$Attribute.js" "hyperloop/java.text.AttributedCharacterIterator.js" "hyperloop/java.text.FieldPosition.js" "hyperloop/java.text.Format$Field.js" "hyperloop/java.text.Format.js" "hyperloop/java.text.js" "hyperloop/java.text.NumberFormat$Field.js" "hyperloop/java.text.NumberFormat.js" "hyperloop/java.text.ParsePosition.js" "hyperloop/java.util.AbstractCollection.js" "hyperloop/java.util.AbstractList.js" "hyperloop/java.util.AbstractMap$SimpleEntry.js" "hyperloop/java.util.AbstractMap$SimpleImmutableEntry.js" "hyperloop/java.util.AbstractMap.js" "hyperloop/java.util.ArrayList.js" "hyperloop/java.util.Collection.js" "hyperloop/java.util.Comparator.js" "hyperloop/java.util.concurrent.BlockingQueue.js" "hyperloop/java.util.concurrent.Callable.js" "hyperloop/java.util.concurrent.Executor.js" "hyperloop/java.util.concurrent.ExecutorService.js" "hyperloop/java.util.concurrent.Future.js" "hyperloop/java.util.concurrent.js" "hyperloop/java.util.concurrent.TimeUnit.js" "hyperloop/java.util.Currency.js" "hyperloop/java.util.Date.js" "hyperloop/java.util.Dictionary.js" "hyperloop/java.util.Enumeration.js" "hyperloop/java.util.HashMap.js" "hyperloop/java.util.Hashtable.js" "hyperloop/java.util.Iterator.js" "hyperloop/java.util.js" "hyperloop/java.util.List.js" "hyperloop/java.util.ListIterator.js" "hyperloop/java.util.Locale$Builder.js" "hyperloop/java.util.Locale$Category.js" "hyperloop/java.util.Locale.js" "hyperloop/java.util.Map$Entry.js" "hyperloop/java.util.Map.js" "hyperloop/java.util.Properties.js" "hyperloop/java.util.Random.js" "hyperloop/java.util.Set.js" "hyperloop/java.util.SortedMap.js" "hyperloop/javax.crypto.Cipher.js" "hyperloop/javax.crypto.CipherSpi.js" "hyperloop/javax.crypto.ExemptionMechanism.js" "hyperloop/javax.crypto.ExemptionMechanismSpi.js" "hyperloop/javax.crypto.js" "hyperloop/javax.crypto.KeyGenerator.js" "hyperloop/javax.crypto.KeyGeneratorSpi.js" "hyperloop/javax.crypto.Mac.js" "hyperloop/javax.crypto.MacSpi.js" "hyperloop/javax.crypto.SecretKey.js" "hyperloop/javax.js" "hyperloop/javax.net.js" "hyperloop/javax.net.SocketFactory.js" "hyperloop/javax.net.ssl.js" "hyperloop/javax.net.ssl.SSLSocketFactory.js" "hyperloop/javax.security.auth.js" "hyperloop/javax.security.auth.x500.js" "hyperloop/javax.security.auth.x500.X500Principal.js" "hyperloop/javax.security.js" "hyperloop/org.js" "hyperloop/org.xmlpull.js" "hyperloop/org.xmlpull.v1.js" "hyperloop/org.xmlpull.v1.XmlPullParser.js" "hyperloop/org.xmlpull.v1.XmlSerializer.js" "ios/controls.js" "ios/subclasses/chartdelegate.js" "ios/subclasses/collectionviewdatasourcedelegate.js" "ios/subclasses/collisionbehaviordelegate.js" "ios/subclasses/drawrectview.js" "ios/subclasses/gesturerecognizer.js" "ios/subclasses/tableviewdatasourcedelegate.js" "ios/subclasses/urlsessiondelegate.js" "log.js" "xp.ui.js" "ti.cloud.js" "_app_props_.json"
2016-07-04T17:22:57.017Z | ERROR | An uncaught exception was thrown!
spawn ENAMETOOLONG
2016-07-04T17:22:57.019Z | ERROR | spawn ENAMETOOLONG
The build failure is not due to the number of files in the encryption command but rather the length of the command that is being spawned which has a max length of around [32k](
https://blogs.msdn.microsoft.com/oldnewthing/20031210-00/?p=41553)
Steps to reproduce
Build the project using appc run -p android -T device -d <path_to_hyperloop-examples> --build-only
, see CLI-1038 for why you need to use \-\-project-dir
.
Actual result
The build will fail with the error shown above
Expected result
The build should not fail
This is a hyperloop for Android run, running on Windows. Looks specifically like it's an issue with the cli build process when encrypting with a ton of files, so it's not really specific to hyperloop - just that hyperloop generates a ton of files so can expose this issue easier. A possible solution: The file listing to encrypt is too long for windows to accept as a command. So basically we'd need to modify the encryption (titanium_prep) executable to accept something like a --file-listing flag to point at some text file containing the full file listing as a filename per-line (or some other semi-structured way, like a json array or csv, or whatever). That way the command would be short enough to make Windows happy. But it'd mean the encryption code would need to handle that flag, and that the cli would have to write that file and send it along as an argument
[~cwilliams] We could also run multiple instances of titanium_prep splitting the file list up, which wouldn't require significant changes?
I did quick try with the idea from [~gmathews]. https://github.com/appcelerator/titanium_mobile_windows/pull/912 Unfortunately this doesn't seems to work well for me, built app ends up exception with
"Data error (cyclic redundancy check)"
. I don't know how titanium_prep is implemented actually but I suspect it's becausetitanium_prep
uses different encryption seed every time on launch maybe?Pushed a working version, added an ability to specify encryption key for
titanium_prep
https://github.com/appcelerator/titanium_prep/pull/26 https://github.com/appcelerator/titanium_mobile_windows/pull/912So my fixes are just for
titanium_mobile_windows
. You'll need same logic fortitanium_mobile
iphone/android too.So my workaround may work, but I'm afraid how splitting Java process affects build time. Obviously it will be bad. I'll come up with --file-listing solution then.
https://github.com/appcelerator/titanium_prep/pull/27 https://github.com/appcelerator/titanium_mobile/pull/8713 https://github.com/appcelerator/titanium_mobile_windows/pull/913
6_0_X backport: https://github.com/appcelerator/titanium_mobile/pull/8989
Verified fix, was able to build https://github.com/appcelerator/hyperloop-examples on Windows without the build process failing. SDK version tested
6.0.4.GA
and6.1.0.v20170508081747
*Test steps* * Downloaded hyperloop examples from https://github.com/appcelerator/hyperloop-examples * Used the following command to test if build would passappc run -p android -T device -d <path_to_hyperloop-examples> --build-only
* Build was successful without any errors *Environment*