smstuebe / xamarin-fingerprint

Xamarin and MvvMCross plugin for authenticate a user via fingerprint sensor
Microsoft Public License
494 stars 118 forks source link

Build Error in Release mode: Tool Exited with code: 1. Output: ProGuard, version 5.3.2 #42

Closed nielscup closed 7 years ago

nielscup commented 7 years ago

Since I updated to version 1.4.1 I get the following build error only in release mode: Tool Exited with code: 1. Output: ProGuard, version 5.3.2

Everthing works fine in debug.

Does this sound familiar to anybody?

Steps to reproduce

  1. Update to xamarin-fingerprint 1.4.1

  2. Build Release

Expected behavior

no build errors

Actual behavior

build error only in release mode: Tool Exited with code: 1. Output: ProGuard, version 5.3.2

Crashlog

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Tool exited with code: 1. Output: ProGuard, version 5.3.2 Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appindexing.AppIndex' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appdatasearch.GetRecentContextCall' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appdatasearch.zzk' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appindexing.AppIndexApi$ActionResult' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appindexing.AppIndexApi' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appindexing.Thing' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.search.SearchAuthApi$GoogleNowAuthResult' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.search.SearchAuthApi' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.search.SearchAuth' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.CardViewDelegate' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RoundRectDrawableWithShadow$RoundRectHelper' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.DefaultItemAnimator$ChangeInfo' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.DefaultItemAnimator$MoveInfo' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.helper.ItemTouchUIUtil' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.helper.ItemTouchHelper$ItemTouchHelperGestureListener' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.helper.ItemTouchHelper$ViewDropHandler' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$AdapterDataObserver' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ChildDrawingOrderCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ItemAnimator$AdapterChanges' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ItemAnimator$ItemAnimatorFinishedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.RecyclerView_ItemAnimator_ItemAnimatorFinishedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ItemDecoration' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$OnChildAttachStateChangeListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.RecyclerView_OnChildAttachStateChangeListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$OnItemTouchListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.RecyclerView_OnItemTouchListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$OnScrollListener' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$RecyclerListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.RecyclerView_RecyclerListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$RecyclerViewDataObserver' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$SavedState' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ViewHolder' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.StaggeredGridLayoutManager$AnchorInfo' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.StaggeredGridLayoutManager$LazySpanLookup' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.CrashManagerListener' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.FeedbackManagerListener' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.FeedbackActivityInterface' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.UpdateActivityInterface' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.UpdateInfoListener' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.StringListener' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.UpdateManagerListener' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.listeners.DownloadFileListener' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.listeners.SendFeedbackListener' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.ConnectionManager$ConnectionManagerHolder' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.DeviceUtils$DeviceUtilsHolder' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.FeedbackParser$FeedbackParserHolder' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.PrefsUtil$PrefsUtilHolder' Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.UiThreadUtil$WbUtilHolder' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.AdListener' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.doubleclick.AppEventListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.doubleclick.AppEventListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.doubleclick.CustomRenderedAd' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.doubleclick.OnCustomRenderedAdLoadedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.doubleclick.OnCustomRenderedAdLoadedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeCustomTemplateAd$OnCustomClickListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.formats.NativeCustomTemplateAd_OnCustomClickListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeCustomTemplateAd$OnCustomTemplateAdLoadedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.formats.NativeCustomTemplateAd_OnCustomTemplateAdLoadedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeCustomTemplateAd' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeAd' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeAdView' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeAppInstallAd$OnAppInstallAdLoadedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.formats.NativeAppInstallAd_OnAppInstallAdLoadedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeContentAd$OnContentAdLoadedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.formats.NativeContentAd_OnContentAdLoadedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEvent' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventBanner' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventBannerListener' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventInterstitial' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventInterstitialListener' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.mediation.customevent.CustomEventListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventNative' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventNativeListener' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationAdRequest' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationAdRequest' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationBannerAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationBannerListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.mediation.MediationBannerListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationInterstitialAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationInterstitialListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.mediation.MediationInterstitialListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationNativeAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationNativeListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.mediation.MediationNativeListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NativeMediationAdRequest' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NetworkExtras' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NativeAdMapper' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NativeAppInstallAdMapper' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NativeContentAdMapper' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.InAppPurchase' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.InAppPurchase' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.InAppPurchaseListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.purchase.InAppPurchaseListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.InAppPurchaseResult' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.PlayStorePurchaseListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.purchase.PlayStorePurchaseListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.RewardItem' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.RewardedVideoAd' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.RewardedVideoAdListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.reward.RewardedVideoAdListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.AdRequest' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.AbstractAdViewAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEvent' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventBanner' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventBannerListener' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventInterstitial' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventInterstitialListener' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.ads.mediation.customevent.CustomEventListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationBannerAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationBannerListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.ads.mediation.MediationBannerListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationInterstitialAdapter' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationInterstitialListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.ads.mediation.MediationInterstitialListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.NetworkExtras' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationServerParameters$Parameter' Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationServerParameters' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxExpandableListView' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxFrameControl' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxDatePicker' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxGridView' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxAutoCompleteTextView' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxRadioGroup' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxSpinner' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxLinearLayout' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxListItemView' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxListView' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxImageView' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxTimePicker' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxRelativeLayout' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxFrameLayout' Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxTableLayout' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompat$Action$Extender' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompat$Extender' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompat$Style' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$Decor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$ItemInfo' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$MyAccessibilityDelegate' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$OnPageChangeListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPager_OnPageChangeListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$PageTransformer' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$PagerObserver' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentActivity$NonConfigurationInstances' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.NestedScrollView$AccessibilityDelegate' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.NestedScrollView$OnScrollChangeListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.NestedScrollView_OnScrollChangeListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.SwipeRefreshLayout_OnRefreshListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.animation.AnimatorCompatHelper' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.animation.AnimatorListenerCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.animation.AnimatorUpdateListenerCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.animation.ValueAnimatorCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActionBarDrawerToggle$Delegate' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActionBarDrawerToggle$DelegateProvider' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityCompat$OnRequestPermissionsResultCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityOptionsCompat$ActivityOptionsImpl21' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityOptionsCompat$ActivityOptionsImplJB' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentManager$BackStackEntry' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentManager$OnBackStackChangedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.app.FragmentManager_OnBackStackChangedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentTabHost$SavedState' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentTabHost$TabInfo' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationBuilderWithBuilderAccessor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.INotificationSideChannel' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.LoaderManager$LoaderCallbacks' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompatBase$Action$Factory' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompatBase$UnreadConversation$Factory' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompatBase$UnreadConversation' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompatExtras' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationManagerCompat$Task' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.RemoteInputCompatBase$RemoteInput$Factory' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.RemoteInputCompatBase' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ServiceCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.SharedElementCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.TaskStackBuilder$SupportParentable' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.FileProvider$PathStrategy' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.Loader$OnLoadCanceledListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.content.Loader_OnLoadCanceledListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.Loader$OnLoadCompleteListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.content.Loader_OnLoadCompleteListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.LocalBroadcastManager$BroadcastRecord' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.LocalBroadcastManager$ReceiverRecord' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.ModernAsyncTask$AsyncTaskResult' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.pm.ActivityInfoCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.PermissionChecker$PermissionResult' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.SharedPreferencesCompat$EditorCompat$Helper' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.graphics.drawable.DrawableWrapper' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory$DefaultRoundedBitmapDrawable' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.hardware.fingerprint.FingerprintManagerCompat$AuthenticationCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.IMediaBrowserServiceCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.IMediaBrowserServiceCompatCallbacks' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserCompat$ItemCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserCompat$MediaBrowserImplBase$Subscription' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserCompat$MediaItem$Flags' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserCompat$SubscriptionCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserServiceCompat$ConnectionRecord' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaMetadataCompat$BitmapKey' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaMetadataCompat$LongKey' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaMetadataCompat$RatingKey' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaMetadataCompat$TextKey' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.RatingCompat$StarStyle' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.RatingCompat$Style' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.IMediaControllerCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.IMediaSession' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.MediaControllerCompat$Callback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.MediaSessionCompat$Callback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.MediaSessionCompat$OnActiveChangeListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.media.session.MediaSessionCompat_OnActiveChangeListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.MediaSessionCompat$SessionFlags' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.PlaybackStateCompat$Actions' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.PlaybackStateCompat$State' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.VolumeProviderCompat$ControlType' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.VolumeProviderCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.net.TrafficStatsCompat$BaseTrafficStatsCompatImpl$SocketTags' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.os.CancellationSignal$OnCancelListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.os.CancellationSignal_OnCancelListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.os.ParcelableCompatCreatorCallbacks' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.os.IResultReceiver' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.print.PrintHelper$OnPrintFinishCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.text.BidiFormatter$DirectionalityEstimator' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.text.TextDirectionHeuristicCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.text.TextDirectionHeuristicsCompat$TextDirectionAlgorithm' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.util.Pools$Pool' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.util.Pools' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ActionProvider$SubUiVisibilityListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ActionProvider_SubUiVisibilityListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ActionProvider$VisibilityListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ActionProvider_VisibilityListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.animation.LookupTableInterpolator' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.GestureDetectorCompat$GestureDetectorCompatImplBase$GestureHandler' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.LayoutInflaterFactory' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.NestedScrollingChild' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.NestedScrollingParent' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.OnApplyWindowInsetsListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.OnApplyWindowInsetsListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ScrollingView' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.TintableBackgroundView' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPropertyAnimatorListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPropertyAnimatorListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPropertyAnimatorUpdateListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPropertyAnimatorUpdateListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.MenuItemCompat$OnActionExpandListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.MenuItemCompat_OnActionExpandListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewCompat$ScrollIndicators' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.CursorAdapter$MyDataSetObserver' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$AccessibilityDelegate' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$ChildAccessibilityDelegate' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$DrawerListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.DrawerLayout_DrawerListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$SimpleDrawerListener' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.TintableCompoundButton' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SearchViewCompat$OnCloseListenerCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SearchViewCompat$OnQueryTextListenerCompat' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SimpleCursorAdapter$CursorToStringConverter' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SimpleCursorAdapter$ViewBinder' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SlidingPaneLayout$PanelSlideListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.SlidingPaneLayout_PanelSlideListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SlidingPaneLayout$SavedState' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.actions.ItemListIntents' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.actions.NoteIntents' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.actions.ReserveIntents' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.actions.SearchIntents' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.DataBuffer' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.DataBufferObserver$Observable' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.DataBufferObserver' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.Freezable' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.zzc' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.zzf' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.images.ImageManager$OnImageLoadedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.common.images.ImageManager_OnImageLoadedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.GoogleApiClient$ConnectionCallbacks' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.GoogleApiClient$ConnectionCallbacks' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.GoogleApiClient$OnConnectionFailedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.common.api.GoogleApiClient_OnConnectionFailedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.GoogleApiClient$ServerAuthCodeCallbacks' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.Auth$AuthCredentialsOptions' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.Auth' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.credentials.CredentialRequestResult' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.credentials.CredentialsApi' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.credentials.CredentialsApi' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.proxy.ProxyApi$ProxyResult' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.proxy.ProxyApi' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.annotation.KeepName' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions$HasOptions' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions$NoOptions' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions$NotRequiredOptions' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions$Optional' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.BatchResultToken' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Releasable' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Result' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.ResultCallback' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.internal.safeparcel.SafeParcelable' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.internal.safeparcel.SafeParcelable' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.Scopes' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.server.response.FastJsonResponse' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.dynamic.LifecycleDelegate' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.security.ProviderInstaller$ProviderInstallListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.security.ProviderInstaller_ProviderInstallListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'DallinEvans.MvvmCross.Droid.MvxRecyclerView' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.gcm.GcmListenerService' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.gcm.Task' Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$DoubleClickListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.daimajia.swipe.SwipeLayout_DoubleClickListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$OnLayout' Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$OnRevealListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.daimajia.swipe.SwipeLayout_OnRevealListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$SwipeDenier' Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$SwipeListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.daimajia.swipe.SwipeLayout_SwipeListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.interfaces.SwipeAdapterInterface' Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.interfaces.SwipeItemMangerInterface' Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Authenticator' Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Callback' Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Interceptor$Chain' Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Interceptor' Note: the configuration doesn't specify which class members to keep for class 'okio.ForwardingSink' Note: the configuration doesn't specify which class members to keep for class 'okio.ForwardingSource' Note: the configuration doesn't specify which class members to keep for class 'okio.BufferedSink' Note: the configuration doesn't specify which class members to keep for class 'okio.BufferedSource' Note: the configuration doesn't specify which class members to keep for class 'okio.Sink' Note: the configuration doesn't specify which class members to keep for class 'okio.Source' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.analytics.ExceptionParser' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.analytics.Logger' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.tagmanager.Container$FunctionCallMacroCallback' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.tagmanager.Container$FunctionCallTagCallback' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.tagmanager.ContainerHolder$ContainerAvailableListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.tagmanager.ContainerHolder_ContainerAvailableListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.tagmanager.ContainerHolder' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.Toolbar$OnMenuItemClickListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.Toolbar_OnMenuItemClickListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$DisplayOptions' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$NavigationMode' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$OnMenuVisibilityListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.app.ActionBar_OnMenuVisibilityListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$OnNavigationListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.app.ActionBar_OnNavigationListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$TabListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.app.ActionBar_TabListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBarDrawerToggle$Delegate' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBarDrawerToggle$DelegateProvider' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBarDrawerToggle$DrawerToggle' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.AppCompatCallback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.graphics.drawable.DrawerArrowDrawable$ArrowDirection' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.ActionMode$Callback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.CollapsibleActionView' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.BaseMenuPresenter' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuView' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuBuilder$Callback' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuWrapperFactory' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ActionMenuView$ActionMenuChildView' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ActionMenuView$OnMenuItemClickListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.ActionMenuView_OnMenuItemClickListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.AppCompatDrawableManager$InflateDelegate' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ContentFrameLayout$OnAttachListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.ContentFrameLayout_OnAttachListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.FitWindowsViewGroup_OnFitSystemWindowsListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.FitWindowsViewGroup' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ThemedSpinnerAdapter' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.LinearLayoutCompat$DividerMode' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.LinearLayoutCompat$OrientationMode' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ListPopupWindow$PopupDataSetObserver' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.PopupMenu$OnDismissListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.PopupMenu_OnDismissListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.PopupMenu$OnMenuItemClickListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.PopupMenu_OnMenuItemClickListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SearchView$AutoCompleteTextViewReflector' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SearchView$OnCloseListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.SearchView_OnCloseListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SearchView$OnQueryTextListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.SearchView_OnQueryTextListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SearchView$OnSuggestionListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.SearchView_OnSuggestionListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ShareActionProvider$OnShareTargetSelectedListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.ShareActionProvider_OnShareTargetSelectedListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ShareActionProvider$ShareActivityChooserModelPolicy' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SwitchCompat$ThumbAnimation' Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ViewStubCompat$OnInflateListener' Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.ViewStubCompat_OnInflateListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.samsung.android.sdk.pass.SpassFingerprint$IdentifyListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.samsung.android.sdk.pass.SpassFingerprint_IdentifyListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.samsung.android.sdk.pass.SpassFingerprint$RegisterListener' Note: the configuration doesn't specify which class members to keep for class 'mono.com.samsung.android.sdk.pass.SpassFingerprint_RegisterListenerImplementor' Note: the configuration doesn't specify which class members to keep for class 'com.samsung.android.sdk.pass.support.IFingerprintManagerProxy' Note: there were 423 '-keepclassmembers' options that didn't specify class members. You should specify at least some class members or consider if you just need '-keep'. (http://proguard.sourceforge.net/manual/troubleshooting.html#classmembers) Reading input... Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/proguard/proguard_input.jar] Reading program jar [/Library/Frameworks/Xamarin.Android.framework/Versions/7.0.2-42/lib/xbuild-frameworks/MonoAndroid/v7.0/mono.android.jar] Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/AndroidSwipeLayout/library_project_imports/bin/classes.jar] Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/HockeyApp.Android/library_project_imports/HockeyApp.Android.Jars.HockeySDK-3.0.2.jar] Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/OkHttp/library_project_imports/okhttp-2.3.0-jar-with-dependencies.jar] Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/Plugin.Fingerprint.Android.Samsung/library_project_imports/referencepass-v1.2.0.jar] Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/Plugin.Fingerprint.Android.Samsung/library_project_imports/referencesdk-v1.0.0.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Basement/8.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.AppIndexing/8.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Ads/8.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Analytics/8.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v4/23.1.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v4/23.1.1.0/embedded/libs/internal_impl-23.1.1.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v7.AppCompat/23.1.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v7.CardView/23.1.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v7.RecyclerView/23.1.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Base/8.1.0/embedded/classes.jar] Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Gcm/8.1.0/embedded/classes.jar] Reading library jar [/Users/nielscup/Library/Developer/Xamarin/android-sdk-macosx/platforms/android-25/android.jar] Initializing... Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService' Note: the configuration refers to the unknown class 'com.android.vending.licensing.ILicensingService' Note: the configuration refers to the unknown class 'android.support.annotation.Keep' Note: the configuration refers to the unknown class 'android.support.annotation.Keep' Note: the configuration refers to the unknown class 'android.support.annotation.Keep' Note: the configuration refers to the unknown class 'android.support.annotation.Keep' Note: the configuration refers to the unknown class 'android.support.annotation.Keep' Note: the configuration refers to the unknown class 'Object' Maybe you meant the fully qualified name 'java.lang.Object'? Note: android.support.v4.app.NotificationCompatJellybean calls 'Field.getType' Note: com.google.android.gms.internal.zzsf calls 'Field.getType' Note: com.samsung.android.sdk.pass.support.SdkSupporter calls 'Field.getType' Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find superclass or interface com.samsung.android.fingerprint.IFingerprintClient$Stub Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find superclass or interface com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener Warning: com.samsung.android.sdk.pass.b: can't find superclass or interface com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.FingerprintManager Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient$Stub Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient$Stub Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.b: can't find referenced class com.samsung.android.fingerprint.FingerprintManager Warning: com.samsung.android.sdk.pass.b: can't find referenced class com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.d: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.d: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.d: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.d: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintManager Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient Note: android.support.v4.text.ICUCompatApi23: can't find dynamically referenced class libcore.icu.ICU Note: android.support.v4.text.ICUCompatIcs: can't find dynamically referenced class libcore.icu.ICU Note: android.support.v7.widget.DrawableUtils: can't find dynamically referenced class android.graphics.Insets Note: com.samsung.android.sdk.pass.SpassFingerprint: can't find dynamically referenced class com.samsung.android.fingerprint.FingerprintManager Note: com.samsung.android.sdk.pass.SpassFingerprint: can't find dynamically referenced class com.samsung.android.fingerprint.FingerprintManager Note: com.samsung.android.sdk.pass.SpassFingerprint: can't find dynamically referenced class com.samsung.android.fingerprint.FingerprintManager Note: com.samsung.android.sdk.pass.support.v1.FingerprintManagerProxyFactory: can't find dynamically referenced class com.samsung.android.fingerprint.FingerprintManager Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class com.android.org.conscrypt.OpenSSLSocketImpl Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'icon' dynamically Maybe this is program field 'android.support.v4.R$attr { int icon; }' Maybe this is program field 'android.support.v4.R$drawable { int icon; }' Maybe this is program field 'android.support.v4.R$id { int icon; }' Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { int icon; }' Maybe this is program field 'android.support.v7.appcompat.R$attr { int icon; }' Maybe this is program field 'android.support.v7.appcompat.R$drawable { int icon; }' Maybe this is program field 'android.support.v7.appcompat.R$id { int icon; }' Maybe this is program field 'android.support.v7.cardview.R$attr { int icon; }' Maybe this is program field 'android.support.v7.cardview.R$drawable { int icon; }' Maybe this is program field 'android.support.v7.cardview.R$id { int icon; }' Maybe this is program field 'android.support.v7.recyclerview.R$attr { int icon; }' Maybe this is program field 'android.support.v7.recyclerview.R$drawable { int icon; }' Maybe this is program field 'android.support.v7.recyclerview.R$id { int icon; }' Maybe this is program field 'com.daimajia.swipe.R$attr { int icon; }' Maybe this is program field 'com.daimajia.swipe.R$drawable { int icon; }' Maybe this is program field 'com.daimajia.swipe.R$id { int icon; }' Maybe this is program field 'com.google.android.gms.R$attr { int icon; }' Maybe this is program field 'com.google.android.gms.R$drawable { int icon; }' Maybe this is program field 'com.google.android.gms.R$id { int icon; }' Maybe this is program field 'com.google.android.gms.ads.R$attr { int icon; }' Maybe this is program field 'com.google.android.gms.ads.R$drawable { int icon; }' Maybe this is program field 'com.google.android.gms.ads.R$id { int icon; }' Maybe this is program field 'com.google.android.gms.analytics.R$attr { int icon; }' Maybe this is program field 'com.google.android.gms.analytics.R$drawable { int icon; }' Maybe this is program field 'com.google.android.gms.analytics.R$id { int icon; }' Maybe this is program field 'com.google.android.gms.appindexing.R$attr { int icon; }' Maybe this is program field 'com.google.android.gms.appindexing.R$drawable { int icon; }' Maybe this is program field 'com.google.android.gms.appindexing.R$id { int icon; }' Maybe this is program field 'com.google.android.gms.base.R$attr { int icon; }' Maybe this is program field 'com.google.android.gms.base.R$drawable { int icon; }' Maybe this is program field 'com.google.android.gms.base.R$id { int icon; }' Maybe this is program field 'com.google.android.gms.gcm.R$attr { int icon; }' Maybe this is program field 'com.google.android.gms.gcm.R$drawable { int icon; }' Maybe this is program field 'com.google.android.gms.gcm.R$id { int icon; }'
Maybe this is library field 'android.R$attr { int icon; }' Maybe this is library field 'android.R$id { int icon; }' Maybe this is library field 'android.app.LauncherActivity$ListItem { android.graphics.drawable.Drawable icon; }' Maybe this is library field 'android.app.Notification { int icon; }' Maybe this is library field 'android.app.Notification$Action { int icon; }' Maybe this is library field 'android.appwidget.AppWidgetProviderInfo { int icon; }' Maybe this is library field 'android.content.pm.PackageItemInfo { int icon; }' Maybe this is library field 'android.content.pm.ResolveInfo { int icon; }' Maybe this is library field 'android.inputmethodservice.Keyboard$Key { android.graphics.drawable.Drawable icon; }' Maybe this is library field 'android.service.notification.Condition { int icon; }' Maybe this is library field 'android.speech.tts.TextToSpeech$EngineInfo { int icon; }' Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'title' dynamically Maybe this is program field 'android.support.v4.R$attr { int title; }' Maybe this is program field 'android.support.v4.R$id { int title; }' Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { java.lang.CharSequence title; }' Maybe this is program field 'android.support.v7.appcompat.R$attr { int title; }' Maybe this is program field 'android.support.v7.appcompat.R$id { int title; }' Maybe this is program field 'android.support.v7.cardview.R$attr { int title; }' Maybe this is program field 'android.support.v7.cardview.R$id { int title; }' Maybe this is program field 'android.support.v7.recyclerview.R$attr { int title; }' Maybe this is program field 'android.support.v7.recyclerview.R$id { int title; }' Maybe this is program field 'com.daimajia.swipe.R$attr { int title; }' Maybe this is program field 'com.daimajia.swipe.R$id { int title; }' Maybe this is program field 'com.google.android.gms.R$attr { int title; }' Maybe this is program field 'com.google.android.gms.R$id { int title; }' Maybe this is program field 'com.google.android.gms.ads.R$attr { int title; }' Maybe this is program field 'com.google.android.gms.ads.R$id { int title; }' Maybe this is program field 'com.google.android.gms.analytics.R$attr { int title; }' Maybe this is program field 'com.google.android.gms.analytics.R$id { int title; }' Maybe this is program field 'com.google.android.gms.appindexing.R$attr { int title; }' Maybe this is program field 'com.google.android.gms.appindexing.R$id { int title; }' Maybe this is program field 'com.google.android.gms.base.R$attr { int title; }' Maybe this is program field 'com.google.android.gms.base.R$id { int title; }' Maybe this is program field 'com.google.android.gms.gcm.R$attr { int title; }' Maybe this is program field 'com.google.android.gms.gcm.R$id { int title; }' Maybe this is library field 'android.R$attr { int title; }' Maybe this is library field 'android.R$id { int title; }' Maybe this is library field 'android.app.Notification$Action { java.lang.CharSequence title; }' Maybe this is library field 'android.preference.PreferenceActivity$Header { java.lang.CharSequence title; }' Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'actionIntent' dynamically Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { android.app.PendingIntent actionIntent; }' Maybe this is library field 'android.app.Notification$Action { android.app.PendingIntent actionIntent; }' Note: com.daimajia.swipe.SwipeLayout accesses a field 'gravity' dynamically Maybe this is program field 'android.support.v4.view.ViewPager$LayoutParams { int gravity; }' Maybe this is program field 'android.support.v4.widget.DrawerLayout$LayoutParams { int gravity; }' Maybe this is program field 'android.support.v7.app.ActionBar$LayoutParams { int gravity; }' Maybe this is program field 'android.support.v7.app.AppCompatDelegateImplV7$PanelFeatureState { int gravity; }' Maybe this is program field 'android.support.v7.widget.LinearLayoutCompat$LayoutParams { int gravity; }' Maybe this is library field 'android.R$attr { int gravity; }' Maybe this is library field 'android.app.ActionBar$LayoutParams { int gravity; }' Maybe this is library field 'android.content.pm.ActivityInfo$WindowLayout { int gravity; }' Maybe this is library field 'android.view.WindowManager$LayoutParams { int gravity; }' Maybe this is library field 'android.widget.FrameLayout$LayoutParams { int gravity; }' Maybe this is library field 'android.widget.LinearLayout$LayoutParams { int gravity; }' Note: the configuration keeps the entry point 'com.google.android.gms.ads.AdLoader$Builder { AdLoader$Builder(android.content.Context,com.google.android.gms.ads.internal.client.zzq); }', but not the descriptor class 'com.google.android.gms.ads.internal.client.zzq' Note: the configuration keeps the entry point 'com.google.android.gms.appdatasearch.UsageInfo { UsageInfo(com.google.android.gms.appdatasearch.DocumentId,long,int,java.lang.String,com.google.android.gms.appdatasearch.DocumentContents,boolean,int,int,com.google.android.gms.appdatasearch.UsageInfo$1); }', but not the descriptor class 'com.google.android.gms.appdatasearch.UsageInfo$1' Note: the configuration keeps the entry point 'com.google.android.gms.common.data.DataHolder { DataHolder(com.google.android.gms.common.data.DataHolder$zza,int,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.common.data.DataHolder$zza' Note: the configuration keeps the entry point 'com.google.android.gms.iid.InstanceIDListenerService { void zza(android.content.Context,com.google.android.gms.iid.zzd); }', but not the descriptor class 'com.google.android.gms.iid.zzd' Note: the configuration keeps the entry point 'com.squareup.okhttp.Request$Builder { Request$Builder(com.squareup.okhttp.Request,com.squareup.okhttp.Request$1); }', but not the descriptor class 'com.squareup.okhttp.Request$1' Note: the configuration keeps the entry point 'com.squareup.okhttp.Response$Builder { Response$Builder(com.squareup.okhttp.Response,com.squareup.okhttp.Response$1); }', but not the descriptor class 'com.squareup.okhttp.Response$1' Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.ConnectTimeoutException' Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.scheme.HostNameResolver' Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.scheme.LayeredSocketFactory' Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.scheme.SocketFactory' Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.ssl.SSLSocketFactory' Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.ssl.X509HostnameVerifier' Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.params.CoreConnectionPNames' Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.params.HttpConnectionParams' Note: the configuration explicitly specifies 'org.apache.http.**' to keep library class 'org.apache.http.params.HttpParams' Note: there were 8 references to unknown classes. Warning: there were 48 unresolved references to classes or interfaces. You should check your configuration for typos. (http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass) You may need to add missing library jars or update their versions. Note: there were 3 classes trying to access generic signatures using reflection. If your code works fine without the missing classes, you can suppress You should consider keeping the signature attributes the warnings with '-dontwarn' options. (using '-keepattributes Signature'). (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes) Note: there were 6 unkept descriptor classes in kept class members. You should consider explicitly keeping the mentioned classes (using '-keep'). java.io.IOException: Please correct the above warnings first. (http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass) Note: there were 9 library classes explicitly being kept. at proguard.Initializer.execute(Initializer.java:473) You don't need to keep library classes; they are already left unchanged. at proguard.ProGuard.initialize(ProGuard.java:233) (http://proguard.sourceforge.net/manual/troubleshooting.html#libraryclass) at proguard.ProGuard.execute(ProGuard.java:98) Note: there were 9 unresolved dynamic references to classes or interfaces. at proguard.ProGuard.main(ProGuard.java:538) You should check if you need to specify additional program jars. (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass) Note: there were 4 accesses to class members by means of introspection. You should consider explicitly keeping the mentioned class members (using '-keep' or '-keepclassmembers'). (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember) (CoreApp.Droid)

Configuration

Version of the Plugin: 1.4.1

Platform: Android

Device: any

smsissuechecker commented 7 years ago

Hi @nielscup,

I'm the friendly issue checker. Thanks for using the issue template :kissing_heart: I appreciate it very much. I'm sure, the maintainers of this repository will answer, soon.

smstuebe commented 7 years ago

And it did work before you updated? I never used proguard. Just a guess: Maybe the referenced Support libraries are different (one of us is using the a newer one)?!

nielscup commented 7 years ago

Yes it did, I get the same error when I enable proguard in SMS.Fingerprint.Sample.Droid. It might have something to do with the new Samsung part, I will have look.

smstuebe commented 7 years ago

Hmm but I didn't touch the samsung part in 1.4.1 o0

nielscup commented 7 years ago

I didn't update either since 1.3.5! But it is definitely the Samsung part. If I remove the Samsung reference from Plugin.Fingerprint.Android the error goes away. The error also disappears when I set Linker behaviour to Don't link in (in SMS.Fingerprint.Sample.Droid). Could you check if you have the same behaviour on your side?

nielscup commented 7 years ago

PROBLEM SOLVED: if you use proguard you need to add the following lines to your Proguard.cfg

-dontwarn com.samsung.** -keep class com.samsung.** {*;}

smstuebe commented 7 years ago

Thanks. I've added it to the readme.