我正在尝试构建已签名的apk。我在互联网上发现我必须按照标题中的说明添加proguard。然而,就像现在一样,我收到了这些警告:
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 'com.exemple.test.Servizi.NotificaActivity'
Maybe you meant the fully qualified name 'com.exemple.test.Activity.NotificaActivity'?
Note: the configuration refers to the unknown class 'me.dm7.barcodescannerview.CameraPreview'
Maybe you meant the fully qualified name 'me.dm7.barcodescanner.core.CameraPreview'?
Note: the configuration refers to the unknown class 'me.dm7.barcodescannerview.ViewFinderView'
Maybe you meant the fully qualified name 'me.dm7.barcodescanner.core.ViewFinderView'?
Note: android.support.v4.app.NotificationCompatJellybean calls 'Field.getType'
Note: com.nineoldandroids.util.ReflectiveProperty calls 'Field.getType'
Warning:com.google.firebase.appindexing.internal.zzc$zzb: can't find referenced method 'android.os.IInterface zzavg()' in program class com.google.firebase.appindexing.internal.zzb
Warning:com.google.firebase.appindexing.internal.zze: can't find referenced method 'com.google.android.gms.tasks.Task doWrite(com.google.android.gms.internal.zzse)' in program class com.google.firebase.appindexing.internal.zze$zza
Note: android.support.v4.media.ParceledListSliceAdapterApi21: can't find dynamically referenced class android.content.pm.ParceledListSlice
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: okhttp3.internal.Platform: can't find dynamically referenced class sun.security.ssl.SSLContextImpl
Note: okhttp3.internal.Platform: can't find dynamically referenced class com.android.org.conscrypt.SSLParametersImpl
Note: okhttp3.internal.Platform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.SSLParametersImpl
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'icon' dynamically
Maybe this is program field 'android.support.design.R$attr { int icon; }'
Maybe this is program field 'android.support.design.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$id { int icon; }'
Maybe this is program field 'cn.pedant.SweetAlert.R$attr { int icon; }'
Maybe this is program field 'cn.pedant.SweetAlert.R$id { int icon; }'
Maybe this is program field 'com.daimajia.easing.R$attr { int icon; }'
Maybe this is program field 'com.daimajia.easing.R$id { int icon; }'
Maybe this is program field 'com.exemple.test.R$attr { int icon; }'
Maybe this is program field 'com.exemple.test.R$id { int icon; }'
Maybe this is program field 'com.palaima.bluetoothmanager.R$attr { int icon; }'
Maybe this is program field 'com.palaima.bluetoothmanager.R$id { int icon; }'
Maybe this is program field 'com.pnikosis.materialishprogress.R$attr { int icon; }'
Maybe this is program field 'com.pnikosis.materialishprogress.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.design.R$attr { int title; }'
Maybe this is program field 'android.support.design.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 'cn.pedant.SweetAlert.R$attr { int title; }'
Maybe this is program field 'cn.pedant.SweetAlert.R$id { int title; }'
Maybe this is program field 'com.daimajia.easing.R$attr { int title; }'
Maybe this is program field 'com.daimajia.easing.R$id { int title; }'
Maybe this is program field 'com.exemple.test.R$attr { int title; }'
Maybe this is program field 'com.exemple.test.R$id { int title; }'
Maybe this is program field 'com.google.zxing.client.result.AddressBookParsedResult { java.lang.String title; }'
Maybe this is program field 'com.google.zxing.client.result.TelParsedResult { java.lang.String title; }'
Maybe this is program field 'com.google.zxing.client.result.URIParsedResult { java.lang.String title; }'
Maybe this is program field 'com.palaima.bluetoothmanager.R$attr { int title; }'
Maybe this is program field 'com.palaima.bluetoothmanager.R$id { int title; }'
Maybe this is program field 'com.pnikosis.materialishprogress.R$attr { int title; }'
Maybe this is program field 'com.pnikosis.materialishprogress.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: android.support.v4.app.NotificationManagerCompatKitKat accesses a declared field 'OP_POST_NOTIFICATION' dynamically
Maybe this is program field 'android.support.v4.app.NotificationManagerCompatKitKat { java.lang.String OP_POST_NOTIFICATION; }'
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'
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'
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'
Note: the configuration keeps the entry point 'android.support.design.widget.Snackbar$SnackbarLayout { void setOnLayoutChangeListener(android.support.design.widget.Snackbar$SnackbarLayout$OnLayoutChangeListener); }', but not the descriptor class 'android.support.design.widget.Snackbar$SnackbarLayout$OnLayoutChangeListener'
Note: the configuration keeps the entry point 'android.support.design.widget.Snackbar$SnackbarLayout { void setOnAttachStateChangeListener(android.support.design.widget.Snackbar$SnackbarLayout$OnAttachStateChangeListener); }', but not the descriptor class 'android.support.design.widget.Snackbar$SnackbarLayout$OnAttachStateChangeListener'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setOnTabSelectedListener(android.support.design.widget.TabLayout$OnTabSelectedListener); }', but not the descriptor class 'android.support.design.widget.TabLayout$OnTabSelectedListener'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setupWithViewPager(android.support.v4.view.ViewPager); }', but not the descriptor class 'android.support.v4.view.ViewPager'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setTabsFromPagerAdapter(android.support.v4.view.PagerAdapter); }', but not the descriptor class 'android.support.v4.view.PagerAdapter'
Note: the configuration keeps the entry point 'android.support.graphics.drawable.VectorDrawableCompat$VPath { void setPathData(android.support.graphics.drawable.PathParser$PathDataNode[]); }', but not the descriptor class 'android.support.graphics.drawable.PathParser$PathDataNode'
Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void setAdapter(android.support.v4.view.PagerAdapter); }', but not the descriptor class 'android.support.v4.view.PagerAdapter'
Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void setOnPageChangeListener(android.support.v4.view.ViewPager$OnPageChangeListener); }', but not the descriptor class 'android.support.v4.view.ViewPager$OnPageChangeListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.DrawerLayout { void setDrawerListener(android.support.v4.widget.DrawerLayout$DrawerListener); }', but not the descriptor class 'android.support.v4.widget.DrawerLayout$DrawerListener'
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'
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'
Note: the configuration keeps the entry point 'android.support.v4.widget.SwipeRefreshLayout { void setOnRefreshListener(android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener); }', but not the descriptor class 'android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.SwipeRefreshLayout { void setOnChildScrollUpCallback(android.support.v4.widget.SwipeRefreshLayout$OnChildScrollUpCallback); }', but not the descriptor class 'android.support.v4.widget.SwipeRefreshLayout$OnChildScrollUpCallback'
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'
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'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionBarContainer { void setTabContainer(android.support.v7.widget.ScrollingTabContainerView); }', but not the descriptor class 'android.support.v7.widget.ScrollingTabContainerView'
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'
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'
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'
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'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActivityChooserView { void setProvider(android.support.v4.view.ActionProvider); }', but not the descriptor class 'android.support.v4.view.ActionProvider'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
Note: the configuration keeps the entry point 'android.support.v7.widget.Toolbar { void setOnMenuItemClickListener(android.support.v7.widget.Toolbar$OnMenuItemClickListener); }', but not the descriptor class 'android.support.v7.widget.Toolbar$OnMenuItemClickListener'
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'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.BarLineChartBase { void setOnDrawListener(com.github.mikephil.charting.listener.OnDrawListener); }', but not the descriptor class 'com.github.mikephil.charting.listener.OnDrawListener'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.Chart { void setData(com.github.mikephil.charting.data.ChartData); }', but not the descriptor class 'com.github.mikephil.charting.data.ChartData'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.Chart { void setOnChartValueSelectedListener(com.github.mikephil.charting.listener.OnChartValueSelectedListener); }', but not the descriptor class 'com.github.mikephil.charting.listener.OnChartValueSelectedListener'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.Chart { void setOnChartGestureListener(com.github.mikephil.charting.listener.OnChartGestureListener); }', but not the descriptor class 'com.github.mikephil.charting.listener.OnChartGestureListener'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.Chart { void setMarkerView(com.github.mikephil.charting.components.MarkerView); }', but not the descriptor class 'com.github.mikephil.charting.components.MarkerView'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.Chart { void setRenderer(com.github.mikephil.charting.renderer.DataRenderer); }', but not the descriptor class 'com.github.mikephil.charting.renderer.DataRenderer'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.CombinedChart { void setData(com.github.mikephil.charting.data.CombinedData); }', but not the descriptor class 'com.github.mikephil.charting.data.CombinedData'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.CombinedChart { void setFillFormatter(com.github.mikephil.charting.utils.FillFormatter); }', but not the descriptor class 'com.github.mikephil.charting.utils.FillFormatter'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.CombinedChart { void setDrawOrder(com.github.mikephil.charting.charts.CombinedChart$DrawOrder[]); }', but not the descriptor class 'com.github.mikephil.charting.charts.CombinedChart$DrawOrder'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.CombinedChart { void setData(com.github.mikephil.charting.data.ChartData); }', but not the descriptor class 'com.github.mikephil.charting.data.ChartData'
Note: the configuration keeps the entry point 'com.github.mikephil.charting.charts.LineChart { void setFillFormatter(com.github.mikephil.charting.utils.FillFormatter); }', but not the descriptor class 'com.github.mikephil.charting.utils.FillFormatter'
Note: the configuration keeps the entry point 'com.google.firebase.appindexing.builders.IndexableBuilder { com.google.firebase.appindexing.builders.IndexableBuilder put(java.lang.String,com.google.firebase.appindexing.Indexable[]); }', but not the descriptor class 'com.google.firebase.appindexing.Indexable'
Note: the configuration keeps the entry point 'com.google.firebase.appindexing.builders.IndexableBuilder { com.google.firebase.appindexing.builders.IndexableBuilder setMetadata(com.google.firebase.appindexing.Indexable$Metadata$Builder); }', but not the descriptor class 'com.google.firebase.appindexing.Indexable$Metadata$Builder'
Note: the configuration keeps the entry point 'com.google.firebase.auth.FirebaseAuth { com.google.firebase.auth.FirebaseAuth getInstance(com.google.firebase.FirebaseApp); }', but not the descriptor class 'com.google.firebase.FirebaseApp'
Note: the configuration keeps the entry point 'com.google.firebase.iid.FirebaseInstanceId { com.google.firebase.iid.FirebaseInstanceId getInstance(com.google.firebase.FirebaseApp); }', but not the descriptor class 'com.google.firebase.FirebaseApp'
Note: the configuration keeps the entry point 'com.nhaarman.listviewanimations.itemmanipulation.DynamicListView { void setDraggableManager(com.nhaarman.listviewanimations.itemmanipulation.dragdrop.DraggableManager); }', but not the descriptor class 'com.nhaarman.listviewanimations.itemmanipulation.dragdrop.DraggableManager'
Note: the configuration keeps the entry point 'com.nhaarman.listviewanimations.itemmanipulation.DynamicListView { void setOnItemMovedListener(com.nhaarman.listviewanimations.itemmanipulation.dragdrop.OnItemMovedListener); }', but not the descriptor class 'com.nhaarman.listviewanimations.itemmanipulation.dragdrop.OnItemMovedListener'
Note: the configuration keeps the entry point 'com.nhaarman.listviewanimations.itemmanipulation.DynamicListView { void setDismissableManager(com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.DismissableManager); }', but not the descriptor class 'com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.DismissableManager'
Note: the configuration keeps the entry point 'me.dm7.barcodescanner.zxing.ZXingScannerView { void setResultHandler(me.dm7.barcodescanner.zxing.ZXingScannerView$ResultHandler); }', but not the descriptor class 'me.dm7.barcodescanner.zxing.ZXingScannerView$ResultHandler'
Note: there were 5 references to unknown classes.
You should check your configuration for typos.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)
Note: there were 2 classes trying to access generic signatures using reflection.
You should consider keeping the signature attributes
(using '-keepattributes Signature').
(http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
Note: there were 64 unkept descriptor classes in kept class members.
You should consider explicitly keeping the mentioned classes
(using '-keep').
(http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass)
Note: there were 7 unresolved dynamic references to classes or interfaces.
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)
Warning:there were 2 unresolved references to program class members.
Your input classes appear to be inconsistent.
You may need to recompile the code.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember)
Warning:Exception while processing task java.io.IOException: Please correct the above warnings first.
:app:transformClassesAndResourcesWithProguardForRelease FAILED
Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> java.io.IOException: Please correct the above warnings first.
Information:BUILD FAILED
Information:Total time: 10.659 secs
Information:1 error
Information:4 warnings
我在项目中添加的内容是:
> -dontnote android.net.http.*
> -dontnote org.apache.commons.codec.**
> -dontnote org.apache.http.**
> -dontwarn android.support.v4.**
> -keep public class com.google.android.gms.* { public *; }
> -dontwarn com.google.android.gms.**w
> -keepnames class org.apache.** {*;}
> -keep public class org.apache.** {*;}
> -dontwarn org.apache.commons.logging.LogFactory
> -dontwarn org.apache.http.annotation.ThreadSafe
> -dontwarn org.apache.http.annotation.Immutable
> -dontwarn org.apache.http.annotation.NotThreadSafe
> -dontwarn com.nhaarman.listviewanimations.**
> -dontnote android.net.http.*
> -dontnote com.google.android.gms.**
> -dontwarn org.apache.http.**
> -dontwarn okio.**
> -dontwarn com.google.android.firebase.appindexing.internal.zzb
> -keep class com.google.android.firebase.appindexing.internal.** { *; }
我错过了什么吗? 谢谢你的帮助!