Closed barbeau closed 5 years ago
@acrown-msft I went back and did a release build of v2.3.11, and it contains the NOTE
printouts in the log, but NOT the Warning
s.
So it seems like this is the relevant part of the log when building the current master branch that needs to be fixed:
Warning: there were 1 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: there were 1 unresolved references to library class members.
You probably need to update the library versions.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)
Warning: Exception while processing task java.io.IOException: Please correct the above warnings first.
Alright, dumping the entire log for the release build on the master branch, I see these two warnings:
Warning: com.microsoft.embeddedsocial.sdk.ui.TabbedDrawerHandler: can't find referenced method 'void setOnTabSelectedListener(com.google.android.material.tabs.TabLayout$OnTabSelectedListener)' in program class com.google.android.material.tabs.TabLayout
Warning: com.sothree.slidinguppanel.SlidingUpPanelLayout: can't find referenced method 'int save(int)' in library class android.graphics.Canvas
Related issue on the SlidingUpPanelLayout:
A proposed workaround in that comment is adding the following to Proguard:
-dontwarn com.sothree.**
-keep class com.sothree.**
-keep interface com.sothree.**
For TabLayout, looks like the setOnTabSelectedListener()
method signature changed in API 28:
@acrown-msft It looks like a workaround for the TabLayout issue is to add the following to Proguard:
-dontwarn com.microsoft.embeddedsocial.sdk.ui.TabbedDrawerHandler
I'm not sure yet if this will have any negative runtime consequences.
I think the "right" way to fix this is to update the ES SDK to use the Android X dependencies in place of the old support libraries and the "material" library to replace the cardview and design libraries. Refactoring from within Android Studio is the easiest way to do this.
Summary:
If you try to build a release build with
gradlew assembleRelease -D org.gradle.daemon=false
, you get the below output.@acrown-msft I'm guessing this is related to the addition of
com.microsoft.appcenter:appcenter-analytics
dependency in the ES SDK. Do you know if others have used Proguard when doing a release with this library?Steps to reproduce:
Do a release build:
gradlew assembleRelease -D org.gradle.daemon=false
Expected behavior:
Build the app
Observed behavior:
Release build fails and above output is provided
Device and Android version:
N/A