Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enabling ProGuard puts application in infinite deploy loop #1646

Closed
JonDouglas opened this issue May 4, 2018 · 2 comments
Closed

Enabling ProGuard puts application in infinite deploy loop #1646

JonDouglas opened this issue May 4, 2018 · 2 comments
Labels
Area: App+Library Build Issues when building Library projects or Application projects. bug Component does not function as intended. need-info Issues that need more information from the author.

Comments

@JonDouglas
Copy link
Contributor

Steps to Reproduce

  1. Download the following repos & ensure you're in a Release configuration when deploying.
    App16-ProGuard.zip
    App16-NoProGuard.zip
  2. NoProGuard works as expected and deploys fine.
  3. ProGuard sits in an infinte deployment loop with details below regarding the ProGuard Task and adb logcat:
ProGuard Task
2>Task "Proguard" (TaskId:497)
2>  Task Parameter:ProguardJarPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\proguard\lib\proguard.jar (TaskId:497)
2>  Task Parameter:AndroidSdkDirectory=C:\Users\dougl\AppData\Local\Android\sdk\ (TaskId:497)
2>  Task Parameter:JavaToolPath=C:\Program Files\Java\jdk1.8.0_161\\bin (TaskId:497)
2>  Task Parameter:ProguardToolPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\proguard\ (TaskId:497)
2>  Task Parameter:JavaPlatformJarPath=C:\Users\dougl\AppData\Local\Android\sdk\platforms\android-27\android.jar (TaskId:497)
2>  Task Parameter:ClassesOutputDirectory=obj\Release\android\bin\classes (TaskId:497)
2>  Task Parameter:AcwMapFile=obj\Release\acw-map.txt (TaskId:497)
2>  Task Parameter:ProguardCommonXamarinConfiguration=obj\Release\proguard\proguard_xamarin.cfg (TaskId:497)
2>  Task Parameter:ProguardGeneratedReferenceConfiguration=obj\Release\proguard\proguard_project_references.cfg (TaskId:497)
2>  Task Parameter:ProguardGeneratedApplicationConfiguration=obj\Release\proguard\proguard_project_primary.cfg (TaskId:497)
2>  Task Parameter:ProguardConfigurationFiles=
2>  		{sdk.dir}tools\proguard\proguard-android.txt;
2>  		{intermediate.common.xamarin};
2>  		{intermediate.references};
2>  		{intermediate.application};
2>  		proguard.cfg;C:\Users\dougl\.nuget\packages\xamarin.android.arch.lifecycle.runtime\1.0.3\build\MonoAndroid80\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.core.ui\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.v7.recyclerview\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.media.compat\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.animated.vector.drawable\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.transition\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.design\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;
2>  	 (TaskId:497)
2>  Task Parameter:
2>      JavaLibrariesToEmbed=
2>          C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.1\mono.android.jar
2>          obj\Release\lp\1\jl\formsviewgroup.jar
2>          obj\Release\lp\10\jl\bin\classes.jar
2>          obj\Release\lp\11\jl\bin\classes.jar
2>          obj\Release\lp\12\jl\bin\classes.jar
2>          obj\Release\lp\13\jl\bin\classes.jar
2>          obj\Release\lp\14\jl\bin\classes.jar
2>          obj\Release\lp\15\jl\bin\classes.jar
2>          obj\Release\lp\16\jl\bin\classes.jar
2>          obj\Release\lp\17\jl\bin\classes.jar
2>          obj\Release\lp\18\jl\bin\classes.jar
2>          obj\Release\lp\19\jl\bin\classes.jar
2>          obj\Release\lp\20\jl\bin\classes.jar
2>          obj\Release\lp\21\jl\bin\classes.jar
2>          obj\Release\lp\3\jl\arch-core-common.jar
2>          obj\Release\lp\4\jl\arch-lifecycle-common.jar
2>          obj\Release\lp\5\jl\bin\classes.jar
2>          obj\Release\lp\6\jl\bin\classes.jar
2>          obj\Release\lp\8\jl\bin\classes.jar
2>          obj\Release\lp\9\jl\bin\classes.jar (TaskId:497)
2>  Task Parameter:DoNotPackageJavaLibraries=support-annotations.jar (TaskId:497)
2>  Task Parameter:ProguardJarOutput=obj\Release\proguard\__proguard_output__.jar (TaskId:497)
2>  Task Parameter:DumpOutput=obj\Release\proguard\dump.txt (TaskId:497)
2>  Task Parameter:PrintSeedsOutput=obj\Release\proguard\seeds.txt (TaskId:497)
2>  Task Parameter:PrintUsageOutput=obj\Release\proguard\usage.txt (TaskId:497)
2>  Task Parameter:PrintMappingOutput=obj\Release\proguard\mapping.txt (TaskId:497)
2>  Task Parameter:ProguardInputJarFilter=(!META-INF/MANIFEST.MF) (TaskId:497)
2>  Proguard (TaskId:497)
2>    AndroidSdkDirectory: C:\Users\dougl\AppData\Local\Android\sdk\ (TaskId:497)
2>    JavaPlatformJarPath: C:\Users\dougl\AppData\Local\Android\sdk\platforms\android-27\android.jar (TaskId:497)
2>    ClassesOutputDirectory: obj\Release\android\bin\classes (TaskId:497)
2>    AcwMapFile: obj\Release\acw-map.txt (TaskId:497)
2>    ProguardGeneratedApplicationConfiguration: obj\Release\proguard\proguard_project_primary.cfg (TaskId:497)
2>    ProguardJarOutput: obj\Release\proguard\__proguard_output__.jar (TaskId:497)
2>    ProguardGeneratedReferenceConfiguration: (TaskId:497)
2>      obj\Release\proguard\proguard_project_references.cfg (TaskId:497)
2>    ProguardGeneratedApplicationConfiguration: (TaskId:497)
2>      obj\Release\proguard\proguard_project_primary.cfg (TaskId:497)
2>    ProguardCommonXamarinConfiguration: (TaskId:497)
2>      obj\Release\proguard\proguard_xamarin.cfg (TaskId:497)
2>    ProguardConfigurationFiles: (TaskId:497)
2>      
2>  		{sdk.dir}tools\proguard\proguard-android.txt;
2>  		{intermediate.common.xamarin};
2>  		{intermediate.references};
2>  		{intermediate.application};
2>  		proguard.cfg;C:\Users\dougl\.nuget\packages\xamarin.android.arch.lifecycle.runtime\1.0.3\build\MonoAndroid80\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.core.ui\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.v7.recyclerview\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.media.compat\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.animated.vector.drawable\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.transition\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;C:\Users\dougl\.nuget\packages\xamarin.android.support.design\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt;
2>  	 (TaskId:497)
2>    ExternalJavaLibraries: (TaskId:497)
2>    DoNotPackageJavaLibraries: (TaskId:497)
2>      support-annotations.jar (TaskId:497)
2>    UseProguard: False (TaskId:497)
2>    EnableLogging: False (TaskId:497)
2>    DumpOutput: obj\Release\proguard\dump.txt (TaskId:497)
2>    PrintSeedsOutput: obj\Release\proguard\seeds.txt (TaskId:497)
2>    PrintMappingOutput: obj\Release\proguard\mapping.txt (TaskId:497)
2>    ProguardInputJarFilter: (!META-INF/MANIFEST.MF) (TaskId:497)
2>  Environment Variables passed to tool: (TaskId:497)
2>    PROGUARD_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\proguard (TaskId:497)
2>    JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 (TaskId:497)
2>  C:\Program Files\Java\jdk1.8.0_161\\bin\java.exe -jar "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\proguard\lib\proguard.jar" -include "'C:\Users\dougl\AppData\Local\Android\sdk\\tools\proguard\proguard-android.txt'" -include "'obj\Release\proguard\proguard_xamarin.cfg'" -include "'obj\Release\proguard\proguard_project_references.cfg'" -include "'obj\Release\proguard\proguard_project_primary.cfg'" -include "'proguard.cfg'" -include "'C:\Users\dougl\.nuget\packages\xamarin.android.arch.lifecycle.runtime\1.0.3\build\MonoAndroid80\..\..\proguard\proguard.txt'" -include "'C:\Users\dougl\.nuget\packages\xamarin.android.support.core.ui\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt'" -include "'C:\Users\dougl\.nuget\packages\xamarin.android.support.v7.recyclerview\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt'" -include "'C:\Users\dougl\.nuget\packages\xamarin.android.support.media.compat\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt'" -include "'C:\Users\dougl\.nuget\packages\xamarin.android.support.animated.vector.drawable\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt'" -include "'C:\Users\dougl\.nuget\packages\xamarin.android.support.transition\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt'" -include "'C:\Users\dougl\.nuget\packages\xamarin.android.support.design\27.0.2-preview1\build\MonoAndroid81\..\..\proguard\proguard.txt'" -injars "'obj\Release\android\bin\classes\..\classes.zip'(!META-INF/MANIFEST.MF);'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.1\mono.android.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\1\jl\formsviewgroup.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\10\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\11\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\12\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\13\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\14\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\15\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\16\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\17\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\18\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\19\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\20\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\21\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\3\jl\arch-core-common.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\4\jl\arch-lifecycle-common.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\5\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\6\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\8\jl\bin\classes.jar'(!META-INF/MANIFEST.MF);'obj\Release\lp\9\jl\bin\classes.jar'(!META-INF/MANIFEST.MF)" -libraryjars "'C:\Users\dougl\AppData\Local\Android\sdk\platforms\android-27\android.jar'" -outjars obj\Release\proguard\__proguard_output__.jar -optimizations !code/allocation/variable  (TaskId:497)
2>  ProGuard, version 5.3.2 (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.arch.core.internal.SafeIterableMap$SupportRemove' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.arch.lifecycle.LifecycleObserver' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.arch.lifecycle.LifecycleOwner' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.AutoSizeableTextView' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ActionProvider$SubUiVisibilityListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ActionProvider_SubUiVisibilityListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ActionProvider$VisibilityListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ActionProvider_VisibilityListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.NestedScrollingChild' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.NestedScrollingParent' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.TintableBackgroundView' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPropertyAnimatorListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPropertyAnimatorUpdateListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.internal.view.SupportMenu' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.internal.view.SupportMenuItem' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityCompat$OnRequestPermissionsResultCallback' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityCompat$PermissionCompatDelegate' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityCompat$RequestPermissionsRequestCodeValidator' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.SharedElementCallback$OnSharedElementsReadyListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.SharedElementCallback' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$OnAdapterChangeListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPager_OnAdapterChangeListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$OnPageChangeListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPager_OnPageChangeListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$PageTransformer' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SwipeRefreshLayout$OnChildScrollUpCallback' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.SwipeRefreshLayout_OnRefreshListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$DrawerListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.DrawerLayout_DrawerListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.Loader$OnLoadCanceledListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.Loader$OnLoadCompleteListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.TaskStackBuilder$SupportParentable' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.TabLayout$OnTabSelectedListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.design.widget.TabLayout_OnTabSelectedListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentManager$BackStackEntry' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentManager$FragmentLifecycleCallbacks' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentManager$OnBackStackChangedListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.app.FragmentManager_OnBackStackChangedListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.LoaderManager$LoaderCallbacks' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.ActionMode$Callback' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuPresenter$Callback' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuPresenter' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuView' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuBuilder$Callback' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.Toolbar$OnMenuItemClickListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.Toolbar_OnMenuItemClickListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.DecorToolbar' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$OnMenuVisibilityListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.app.ActionBar_OnMenuVisibilityListenerImplementor' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$OnNavigationListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$TabListener' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBarDrawerToggle$Delegate' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBarDrawerToggle$DelegateProvider' (TaskId:497)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.AppCompatCallback' (TaskId:497)
2>  Note: there were 55 '-keepclassmembers' options that didn't specify class (TaskId:497)
2>        members. You should specify at least some class members or consider (TaskId:497)
2>        if you just need '-keep'. (TaskId:497)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#classmembers) (TaskId:497)
2>  Reading input... (TaskId:497)
2>  Reading program zip [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\android\bin\classes.zip] (filtered) (TaskId:497)
2>  Reading program jar [C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.1\mono.android.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\1\jl\formsviewgroup.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\10\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\11\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\12\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\13\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\14\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\15\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\16\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\17\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\18\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\19\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\20\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\21\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\3\jl\arch-core-common.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\4\jl\arch-lifecycle-common.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\5\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\6\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\8\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\9\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Reading library jar [C:\Users\dougl\AppData\Local\Android\sdk\platforms\android-27\android.jar] (TaskId:497)
2>  Initializing... (TaskId:497)
2>  Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService' (TaskId:497)
2>  Note: the configuration refers to the unknown class 'com.android.vending.licensing.ILicensingService' (TaskId:497)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:497)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:497)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:497)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:497)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:497)
2>  Note: android.support.v4.app.NotificationCompatJellybean calls 'Field.getType' (TaskId:497)
2>  Note: android.support.transition.GhostViewApi21: can't find dynamically referenced class android.view.GhostView (TaskId:497)
2>  Note: android.support.v4.graphics.TypefaceCompatApi24Impl: can't find dynamically referenced class android.graphics.FontFamily (TaskId:497)
2>  Note: android.support.v4.graphics.TypefaceCompatApi26Impl: can't find dynamically referenced class android.graphics.FontFamily (TaskId:497)
2>  Note: android.support.v4.media.ParceledListSliceAdapterApi21: can't find dynamically referenced class android.content.pm.ParceledListSlice (TaskId:497)
2>  Note: android.support.v4.text.ICUCompat: can't find dynamically referenced class libcore.icu.ICU (TaskId:497)
2>  Note: android.support.v4.text.ICUCompat: can't find dynamically referenced class libcore.icu.ICU (TaskId:497)
2>  Note: android.support.v7.app.ResourcesFlusher: can't find dynamically referenced class android.content.res.ThemedResourceCache (TaskId:497)
2>  Note: android.support.v7.widget.DrawableUtils: can't find dynamically referenced class android.graphics.Insets (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.design.internal.BottomNavigationMenuView { void setPresenter(android.support.design.internal.BottomNavigationPresenter); }', but not the descriptor class 'android.support.design.internal.BottomNavigationPresenter' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.design.widget.BaseTransientBottomBar$SnackbarBaseLayout { void setOnLayoutChangeListener(android.support.design.widget.BaseTransientBottomBar$OnLayoutChangeListener); }', but not the descriptor class 'android.support.design.widget.BaseTransientBottomBar$OnLayoutChangeListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.design.widget.BaseTransientBottomBar$SnackbarBaseLayout { void setOnAttachStateChangeListener(android.support.design.widget.BaseTransientBottomBar$OnAttachStateChangeListener); }', but not the descriptor class 'android.support.design.widget.BaseTransientBottomBar$OnAttachStateChangeListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.design.widget.BottomNavigationView { void setOnNavigationItemSelectedListener(android.support.design.widget.BottomNavigationView$OnNavigationItemSelectedListener); }', but not the descriptor class 'android.support.design.widget.BottomNavigationView$OnNavigationItemSelectedListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.design.widget.BottomNavigationView { void setOnNavigationItemReselectedListener(android.support.design.widget.BottomNavigationView$OnNavigationItemReselectedListener); }', but not the descriptor class 'android.support.design.widget.BottomNavigationView$OnNavigationItemReselectedListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.design.widget.CoordinatorLayout { android.support.v4.view.WindowInsetsCompat setWindowInsets(android.support.v4.view.WindowInsetsCompat); }', but not the descriptor class 'android.support.v4.view.WindowInsetsCompat' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.design.widget.NavigationView { void setNavigationItemSelectedListener(android.support.design.widget.NavigationView$OnNavigationItemSelectedListener); }', but not the descriptor class 'android.support.design.widget.NavigationView$OnNavigationItemSelectedListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.graphics.drawable.VectorDrawableCompat$VPath { void setPathData(android.support.v4.graphics.PathParser$PathDataNode[]); }', but not the descriptor class 'android.support.v4.graphics.PathParser$PathDataNode' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v4.app.Fragment { void setOnStartEnterTransitionListener(android.support.v4.app.Fragment$OnStartEnterTransitionListener); }', but not the descriptor class 'android.support.v4.app.Fragment$OnStartEnterTransitionListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v4.app.SupportActivity { void putExtraData(android.support.v4.app.SupportActivity$ExtraData); }', but not the descriptor class 'android.support.v4.app.SupportActivity$ExtraData' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v4.widget.NestedScrollView { void setOnScrollChangeListener(android.support.v4.widget.NestedScrollView$OnScrollChangeListener); }', but not the descriptor class 'android.support.v4.widget.NestedScrollView$OnScrollChangeListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v4.widget.SlidingPaneLayout { void setPanelSlideListener(android.support.v4.widget.SlidingPaneLayout$PanelSlideListener); }', but not the descriptor class 'android.support.v4.widget.SlidingPaneLayout$PanelSlideListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.app.MediaRouteButton { void setRouteSelector(android.support.v7.media.MediaRouteSelector); }', but not the descriptor class 'android.support.v7.media.MediaRouteSelector' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.app.MediaRouteButton { void setDialogFactory(android.support.v7.app.MediaRouteDialogFactory); }', but not the descriptor class 'android.support.v7.app.MediaRouteDialogFactory' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.view.menu.ActionMenuItemView { void setItemInvoker(android.support.v7.view.menu.MenuBuilder$ItemInvoker); }', but not the descriptor class 'android.support.v7.view.menu.MenuBuilder$ItemInvoker' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.view.menu.ActionMenuItemView { void setPopupCallback(android.support.v7.view.menu.ActionMenuItemView$PopupCallback); }', but not the descriptor class 'android.support.v7.view.menu.ActionMenuItemView$PopupCallback' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.ActionBarOverlayLayout { void setActionBarVisibilityCallback(android.support.v7.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback); }', but not the descriptor class 'android.support.v7.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.ActionMenuView { void setPresenter(android.support.v7.widget.ActionMenuPresenter); }', but not the descriptor class 'android.support.v7.widget.ActionMenuPresenter' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.ActionMenuView { void setOnMenuItemClickListener(android.support.v7.widget.ActionMenuView$OnMenuItemClickListener); }', but not the descriptor class 'android.support.v7.widget.ActionMenuView$OnMenuItemClickListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.ActivityChooserView { void setActivityChooserModel(android.support.v7.widget.ActivityChooserModel); }', but not the descriptor class 'android.support.v7.widget.ActivityChooserModel' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.ContentFrameLayout { void setAttachListener(android.support.v7.widget.ContentFrameLayout$OnAttachListener); }', but not the descriptor class 'android.support.v7.widget.ContentFrameLayout$OnAttachListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.FitWindowsFrameLayout { void setOnFitSystemWindowsListener(android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener); }', but not the descriptor class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.FitWindowsLinearLayout { void setOnFitSystemWindowsListener(android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener); }', but not the descriptor class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.MenuPopupWindow$MenuDropDownListView { void setHoverListener(android.support.v7.widget.MenuItemHoverListener); }', but not the descriptor class 'android.support.v7.widget.MenuItemHoverListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setAccessibilityDelegateCompat(android.support.v7.widget.RecyclerViewAccessibilityDelegate); }', but not the descriptor class 'android.support.v7.widget.RecyclerViewAccessibilityDelegate' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setAdapter(android.support.v7.widget.RecyclerView$Adapter); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$Adapter' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setRecyclerListener(android.support.v7.widget.RecyclerView$RecyclerListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$RecyclerListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$LayoutManager' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setOnFlingListener(android.support.v7.widget.RecyclerView$OnFlingListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$OnFlingListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setRecycledViewPool(android.support.v7.widget.RecyclerView$RecycledViewPool); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$RecycledViewPool' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setViewCacheExtension(android.support.v7.widget.RecyclerView$ViewCacheExtension); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ViewCacheExtension' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setChildDrawingOrderCallback(android.support.v7.widget.RecyclerView$ChildDrawingOrderCallback); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ChildDrawingOrderCallback' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setOnScrollListener(android.support.v7.widget.RecyclerView$OnScrollListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$OnScrollListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setItemAnimator(android.support.v7.widget.RecyclerView$ItemAnimator); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ItemAnimator' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnQueryTextListener(android.support.v7.widget.SearchView$OnQueryTextListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnQueryTextListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnCloseListener(android.support.v7.widget.SearchView$OnCloseListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnCloseListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnSuggestionListener(android.support.v7.widget.SearchView$OnSuggestionListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnSuggestionListener' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setSuggestionsAdapter(android.support.v4.widget.CursorAdapter); }', but not the descriptor class 'android.support.v4.widget.CursorAdapter' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView$SearchAutoComplete { void setSearchView(android.support.v7.widget.SearchView); }', but not the descriptor class 'android.support.v7.widget.SearchView' (TaskId:497)
2>  Note: the configuration keeps the entry point 'android.support.v7.widget.ViewStubCompat { void setOnInflateListener(android.support.v7.widget.ViewStubCompat$OnInflateListener); }', but not the descriptor class 'android.support.v7.widget.ViewStubCompat$OnInflateListener' (TaskId:497)
2>  Note: there were 7 references to unknown classes. (TaskId:497)
2>        You should check your configuration for typos. (TaskId:497)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass) (TaskId:497)
2>  Note: there were 1 classes trying to access generic signatures using reflection. (TaskId:497)
2>        You should consider keeping the signature attributes (TaskId:497)
2>        (using '-keepattributes Signature'). (TaskId:497)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes) (TaskId:497)
2>  Note: there were 40 unkept descriptor classes in kept class members. (TaskId:497)
2>        You should consider explicitly keeping the mentioned classes (TaskId:497)
2>        (using '-keep'). (TaskId:497)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass) (TaskId:497)
2>  Note: there were 8 unresolved dynamic references to classes or interfaces. (TaskId:497)
2>        You should check if you need to specify additional program jars. (TaskId:497)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass) (TaskId:497)
2>  Ignoring unused library classes... (TaskId:497)
2>    Original number of library classes: 4201 (TaskId:497)
2>    Final number of library classes:    1449 (TaskId:497)
2>  Shrinking... (TaskId:497)
2>  Removing unused program classes and class elements... (TaskId:497)
2>    Original number of program classes: 2528 (TaskId:497)
2>    Final number of program classes:    1382 (TaskId:497)
2>  Writing output... (TaskId:497)
2>  Preparing output jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\proguard\__proguard_output__.jar] (TaskId:497)
2>    Copying resources from program zip [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\android\bin\classes.zip] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.1\mono.android.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\1\jl\formsviewgroup.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\10\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\11\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\12\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\13\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\14\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\15\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\16\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\17\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\18\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\19\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\20\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\21\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\3\jl\arch-core-common.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\4\jl\arch-lifecycle-common.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\5\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\6\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\8\jl\bin\classes.jar] (filtered) (TaskId:497)
2>    Copying resources from program jar [C:\Users\dougl\source\repos\App16\App16\App16.Android\obj\Release\lp\9\jl\bin\classes.jar] (filtered) (TaskId:497)
2>  Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 (TaskId:497)
2>Done executing task "Proguard". (TaskId:497)

When deploying, adb logcat shows that ActivityManager continues to attempt starting processes and then kills them:

ActivityManager logs
05-04 16:22:07.125 1643-2072/? I/ActivityManager: Start proc 16580:com.companyname.App16/u0a120 for activity com.companyname.App16/md550af35c58fe0c568111c2bedf2218ea8.MainActivity
05-04 16:22:07.144 16580-16580/? W/monodroid: Trying to load sgen from: /data/app/com.companyname.App16-UpjFVuuehB7ZQCfNsrflCA==/lib/x86/libmonosgen-2.0.so
05-04 16:22:07.171 16580-16580/? W/monodroid-gc: GREF GC Threshold: 46080
05-04 16:22:07.173 16580-16580/? W/monodroid: Calling into managed runtime init
05-04 16:22:07.199 1643-1661/? W/ActivityManager: Launch timeout has expired, giving up wake lock!
05-04 16:22:07.227 16580-16580/? W/mpanyname.App16: type=1400 audit(0.0:4732): avc: denied { read } for name="uptime" dev="proc" ino=4026532000 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0
05-04 16:22:07.549 16580-16580/? E/mono: Unhandled Exception:
    System.TypeInitializationException: The type initializer for 'Java.Interop.ManagedPeer' threw an exception. ---> System.ArgumentException: Handle must be valid.
    Parameter name: type
      at Java.Interop.JniEnvironment+Types.IsInstanceOf (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type) [0x00022] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Android.Runtime.JNIEnv.IsInstanceOf (System.IntPtr obj, System.IntPtr clazz) [0x0000e] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.Runtime.IsGCUserPeer (System.IntPtr value) [0x0000f] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.Runtime.IsGCUserPeer (Android.Runtime.IJavaObject value) [0x0000b] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.TypeManager.CreateInstance (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type targetType) [0x00127] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object.GetObject (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type type) [0x000b9] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object._GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00017] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object.GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00000] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Android.Runtime.AndroidRuntime.GetExceptionForThrowable (Java.Interop.JniObjectReference& value, Java.Interop.JniObjectReferenceOptions transfer) [0x00006] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.JniEnvironment+Types.FindClass (System.String classname) [0x0010c] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniType..ctor (System.String classname) [0x00006] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniType.GetCachedJniType (Java.Interop.JniType& cachedType, System.String classname) [0x00018] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniPeerMembers.get_JniPeerType () [0x0000c] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.ManagedPeer..cctor () [0x00019] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
       --- End of inner exception stack trace ---
      at Java.Interop.JniRuntime..ctor (Java.Interop.JniRuntime+CreationOptions options) [0x00229] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Android.Runtime.AndroidRuntime..ctor (System.IntPtr jnienv, System.IntPtr vm, System.Boolean allocNewObjectSupported, System.IntPtr classLoader, System.IntPtr classLoader_loadClass) [0x0000d] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Android.Runtime.JNIEnv.Initialize (Android.Runtime.JnienvInitializeArgs* args) [0x0017c] in <a5417f4df637478cbfb3a090be0db3a5>:0 
05-04 16:22:07.550 16580-16580/? E/mono-rt: [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'Java.Interop.ManagedPeer' threw an exception. ---> System.ArgumentException: Handle must be valid.
    Parameter name: type
      at Java.Interop.JniEnvironment+Types.IsInstanceOf (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type) [0x00022] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Android.Runtime.JNIEnv.IsInstanceOf (System.IntPtr obj, System.IntPtr clazz) [0x0000e] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.Runtime.IsGCUserPeer (System.IntPtr value) [0x0000f] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.Runtime.IsGCUserPeer (Android.Runtime.IJavaObject value) [0x0000b] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.TypeManager.CreateInstance (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type targetType) [0x00127] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object.GetObject (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type type) [0x000b9] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object._GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00017] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object.GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00000] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Android.Runtime.AndroidRuntime.GetExceptionForThrowable (Java.Interop.JniObjectReference& value, Java.Interop.JniObjectReferenceOptions transfer) [0x00006] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.JniEnvironment+Types.FindClass (System.String classname) [0x0010c] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniType..ctor (System.String classname) [0x00006] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniType.GetCachedJniType (Java.Interop.JniType& cachedType, System.String classname) [0x00018] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniPeerMembers.get_JniPeerType () [0x0000c] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.ManagedPeer..cctor () [0x00019] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
       --- End of inner exception stack trace ---
      at Java.Interop.JniRuntime..ctor (Java.Interop.JniRuntime+CreationOptions options) [0x00229] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Android.Runtime.AndroidRuntime..ctor (System.IntPtr jnienv, System.IntPtr vm, System.Boolean allocNewObjectSupported, System.IntPtr classLoader, System.IntPtr classLoader_loadClass) [0x0000d] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Android.Runtime.JNIEnv.Initialize (Android.Runtime.JnienvInitializeArgs* args) [0x0017c] in <a5417f4df637478cbfb3a090be0db3a5>:0 
05-04 16:22:07.582 1643-2225/? I/ActivityManager: Process com.companyname.App16 (pid 16580) has died: fore TOP 
05-04 16:22:07.582 1475-1475/? I/Zygote: Process 16580 exited cleanly (1)
05-04 16:22:07.586 16597-16597/? W/zygote: Unexpected CPU variant for X86 using defaults: x86

05-04 16:22:07.594 1643-2225/? I/ActivityManager: Start proc 16597:com.companyname.App16/u0a120 for activity com.companyname.App16/md550af35c58fe0c568111c2bedf2218ea8.MainActivity
05-04 16:22:07.615 16597-16597/? W/monodroid: Trying to load sgen from: /data/app/com.companyname.App16-UpjFVuuehB7ZQCfNsrflCA==/lib/x86/libmonosgen-2.0.so
05-04 16:22:07.642 16597-16597/? W/monodroid-gc: GREF GC Threshold: 46080
05-04 16:22:07.644 16597-16597/? W/monodroid: Calling into managed runtime init
05-04 16:22:07.697 16597-16597/? W/mpanyname.App16: type=1400 audit(0.0:4733): avc: denied { read } for name="uptime" dev="proc" ino=4026532000 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0
05-04 16:22:08.015 16597-16597/? E/mono: Unhandled Exception:
    System.TypeInitializationException: The type initializer for 'Java.Interop.ManagedPeer' threw an exception. ---> System.ArgumentException: Handle must be valid.
    Parameter name: type
      at Java.Interop.JniEnvironment+Types.IsInstanceOf (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type) [0x00022] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Android.Runtime.JNIEnv.IsInstanceOf (System.IntPtr obj, System.IntPtr clazz) [0x0000e] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.Runtime.IsGCUserPeer (System.IntPtr value) [0x0000f] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.Runtime.IsGCUserPeer (Android.Runtime.IJavaObject value) [0x0000b] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.TypeManager.CreateInstance (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type targetType) [0x00127] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object.GetObject (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type type) [0x000b9] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object._GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00017] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object.GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00000] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Android.Runtime.AndroidRuntime.GetExceptionForThrowable (Java.Interop.JniObjectReference& value, Java.Interop.JniObjectReferenceOptions transfer) [0x00006] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.JniEnvironment+Types.FindClass (System.String classname) [0x0010c] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniType..ctor (System.String classname) [0x00006] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniType.GetCachedJniType (Java.Interop.JniType& cachedType, System.String classname) [0x00018] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniPeerMembers.get_JniPeerType () [0x0000c] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.ManagedPeer..cctor () [0x00019] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
       --- End of inner exception stack trace ---
      at Java.Interop.JniRuntime..ctor (Java.Interop.JniRuntime+CreationOptions options) [0x00229] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Android.Runtime.AndroidRuntime..ctor (System.IntPtr jnienv, System.IntPtr vm, System.Boolean allocNewObjectSupported, System.IntPtr classLoader, System.IntPtr classLoader_loadClass) [0x0000d] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Android.Runtime.JNIEnv.Initialize (Android.Runtime.JnienvInitializeArgs* args) [0x0017c] in <a5417f4df637478cbfb3a090be0db3a5>:0 
05-04 16:22:08.016 16597-16597/? E/mono-rt: [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'Java.Interop.ManagedPeer' threw an exception. ---> System.ArgumentException: Handle must be valid.
    Parameter name: type
      at Java.Interop.JniEnvironment+Types.IsInstanceOf (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type) [0x00022] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Android.Runtime.JNIEnv.IsInstanceOf (System.IntPtr obj, System.IntPtr clazz) [0x0000e] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.Runtime.IsGCUserPeer (System.IntPtr value) [0x0000f] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.Runtime.IsGCUserPeer (Android.Runtime.IJavaObject value) [0x0000b] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.TypeManager.CreateInstance (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type targetType) [0x00127] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object.GetObject (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type type) [0x000b9] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object._GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00017] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Lang.Object.GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00000] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Android.Runtime.AndroidRuntime.GetExceptionForThrowable (Java.Interop.JniObjectReference& value, Java.Interop.JniObjectReferenceOptions transfer) [0x00006] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Java.Interop.JniEnvironment+Types.FindClass (System.String classname) [0x0010c] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniType..ctor (System.String classname) [0x00006] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniType.GetCachedJniType (Java.Interop.JniType& cachedType, System.String classname) [0x00018] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.JniPeerMembers.get_JniPeerType () [0x0000c] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Java.Interop.ManagedPeer..cctor () [0x00019] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
       --- End of inner exception stack trace ---
      at Java.Interop.JniRuntime..ctor (Java.Interop.JniRuntime+CreationOptions options) [0x00229] in <9a1864d6cbb040dc818ed782bdbf5089>:0 
      at Android.Runtime.AndroidRuntime..ctor (System.IntPtr jnienv, System.IntPtr vm, System.Boolean allocNewObjectSupported, System.IntPtr classLoader, System.IntPtr classLoader_loadClass) [0x0000d] in <a5417f4df637478cbfb3a090be0db3a5>:0 
      at Android.Runtime.JNIEnv.Initialize (Android.Runtime.JnienvInitializeArgs* args) [0x0017c] in <a5417f4df637478cbfb3a090be0db3a5>:0 
05-04 16:22:08.052 1475-1475/? I/Zygote: Process 16597 exited cleanly (1)
05-04 16:22:08.052 1643-16310/? I/ActivityManager: Process com.companyname.App16 (pid 16597) has died: fore TOP 
05-04 16:22:08.057 16614-16614/? W/zygote: Unexpected CPU variant for X86 using defaults: x86
...

Note: This log is repeated indefinitely and sits in a deploy.

Expected Behavior

Application should run and deploy.

Actual Behavior

ProGuard is stripping types and in turn throwing an exception which is being infinitely retried. Application shows blank content and sits in a deploy phase.

Version Information

Version Information
Microsoft Visual Studio Enterprise 2017 
Version 15.6.7
VisualStudio.15.Release/15.6.7+27428.2043
Microsoft .NET Framework
Version 4.7.02556

Installed Version: Enterprise

Visual C++ 2017   00369-60000-00001-AA118
Microsoft Visual C++ 2017

Visual F# Tools 10.1 for F# 4.1   00369-60000-00001-AA118
Microsoft Visual F# Tools 10.1 for F# 4.1

Application Insights Tools for Visual Studio Package   8.11.10402.2
Application Insights Tools for Visual Studio

ASP.NET and Web Tools 2017   15.0.40314.0
ASP.NET and Web Tools 2017

ASP.NET Core Razor Language Services   1.0
Provides languages services for ASP.NET Core Razor.

ASP.NET Web Frameworks and Tools 2017   5.2.51214.0
For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0   15.0.40215.0
Azure App Service Tools v3.0.0

C# Tools   2.7.0-beta3-62715-05. Commit Hash: db02128e6e3c4bdfc93e6ec425ac9162b4d4fe80
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

JavaScript Language Service   2.0
JavaScript Language Service

JetBrains ReSharper Ultimate 2017.3.2    Build 111.0.20180201.63358
JetBrains ReSharper Ultimate package for Microsoft Visual Studio. For more information about ReSharper Ultimate, visit http://www.jetbrains.com/resharper. Copyright © 2018 JetBrains, Inc.

Merq   1.1.17-rc (cba4571)
Command Bus, Event Stream and Async Manager for Visual Studio extensions.

Microsoft Azure Tools   2.9
Microsoft Azure Tools for Microsoft Visual Studio 2017 - v2.9.51212.2

Microsoft Continuous Delivery Tools for Visual Studio   0.3
Simplifying the configuration of continuous build integration and continuous build delivery from within the Visual Studio IDE.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards   1.0
Microsoft Visual C++ Wizards

Microsoft Visual Studio Tools for Containers   1.1
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

Microsoft Visual Studio VC Package   1.0
Microsoft Visual Studio VC Package

Mono Debugging for Visual Studio   4.10.3-pre (ebc79bd)
Support for debugging Mono processes with Visual Studio.

NuGet Package Manager   4.6.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.

ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info

Snapshot Debugging Extension   1.0
Snapshot Debugging Visual Studio Extension Detailed Info

SQL Server Data Tools   15.1.61801.210
Microsoft SQL Server Data Tools

TypeScript Tools   15.6.20202.3
TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools   2.7.0-beta3-62715-05. Commit Hash: db02128e6e3c4bdfc93e6ec425ac9162b4d4fe80
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual C++ for Cross Platform Mobile Development (Android)   15.0.27428.2015
Visual C++ for Cross Platform Mobile Development (Android)

Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Tools for Unity   3.6.0.5
Visual Studio Tools for Unity

VisualStudio.Mac   1.0
Mac Extension for Visual Studio

Xamarin   4.11.0.20 (34bb723ca)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer   4.13.4 (aa3c520f8)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin.Android SDK   8.3.99.2 (HEAD/c302b8bd3)
Xamarin.Android Reference Assemblies and MSBuild support.

Xamarin.iOS and Xamarin.Mac SDK   11.9.0.252 (7c88610)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

MSBuild Log File

https://gist.github.com/JonDouglas/0a9d34eac53b59edf115b8fcec2d450a

@JonDouglas JonDouglas added bug Component does not function as intended. Area: App+Library Build Issues when building Library projects or Application projects. labels May 4, 2018
@jonpryor
Copy link
Member

@JonDouglas : Does this happen with Xamarin.Android 8.3.0 (current stable)?

Does this happen if you build from the command line (msbuild /t:Install) or only via the IDE?

The MSBuild Log File provided shows no installation errors, nor a hang, but it does contain EnableProguard=true, which suggest it's a log file from when ProGuard is enabled.

@jonpryor jonpryor added the need-info Issues that need more information from the author. label May 11, 2018
@jonathanpeppers
Copy link
Member

So this app is crashing on start:

android.runtime.JavaProxyThrowable: System.NullReferenceException: Object reference not set to an instance of an object
  at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.InternalSetPage (Xamarin.Forms.Page page) [0x0006f] in <aae4e9ce5a5b4d3eaec4edf21079f3fa>:0 
  at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.SetMainPage () [0x0000c] in <aae4e9ce5a5b4d3eaec4edf21079f3fa>:0 
  at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.LoadApplication (Xamarin.Forms.Application application) [0x0025c] in <aae4e9ce5a5b4d3eaec4edf21079f3fa>:0 
  at App16.Droid.MainActivity.OnCreate (Android.OS.Bundle bundle) [0x00028] in <2283dcaa5b3d4a3fa89439cfb243154e>:0 
  at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x00011] in <a4ba3a5c75b64b9ebbd8f0443aa441ae>:0 
  at (wrapper dynamic-method) System.Object.7(intptr,intptr,intptr)
	at md550af35c58fe0c568111c2bedf2218ea8.MainActivity.n_onCreate(Native Method)
	at md550af35c58fe0c568111c2bedf2218ea8.MainActivity.onCreate(MainActivity.java:29)
	at android.app.Activity.performCreate(Activity.java:7136)
	at android.app.Activity.performCreate(Activity.java:7127)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:193)
	at android.app.ActivityThread.main(ActivityThread.java:6669)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
  Force finishing activity com.companyname.App16/md550af35c58fe0c568111c2bedf2218ea8.MainActivity

I updated to Xamarin.Forms 3.2 in the attached project and it works after using this proguard.cfg:

-keep class android.support.v7.widget.** { *; }
-dontwarn android.support.v7.widget.*

As for the looping thing, I suspect there "used to be" some retry logic in the IDE when a deploy failed? I didn't see that loop behavior in VS 15.8.5.

I think we can close this as fixed now. There is an existing issue for adding default proguard config for Xamarin.Forms: xamarin/Xamarin.Forms#2709

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Area: App+Library Build Issues when building Library projects or Application projects. bug Component does not function as intended. need-info Issues that need more information from the author.
Projects
None yet
Development

No branches or pull requests

3 participants