Closed folkyatina closed 5 years ago
strill getting warning Warning: kotlinx.coroutines.flow.FlowKt__MergeKt: can't find referenced class kotlinx.atomicfu.AtomicBoolean cannot make release build :
`buildscript { repositories { maven { url 'https://maven.fabric.io/public' } }
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
configurations.all {
resolutionStrategy {
force 'net.sf.proguard:proguard-gradle:6.0.3'
}
}
} apply plugin: 'com.android.application' apply plugin: 'com.google.firebase.firebase-perf' apply plugin: 'kotlin-android' apply plugin: 'io.fabric' apply plugin: 'kotlin-kapt' repositories { mavenCentral() google() maven { url 'https://maven.fabric.io/public' } maven{ url 'https://sdk.uxcam.com/android/' } }
//project.ext { // daggerVersion = "2.13" // rxJavaVersion = "2.1.0" // rxAndroidVersion = "2.0.2" //} android { signingConfigs { config { keyAlias 'key0' keyPassword 'qwerty' storeFile file('/Users/utkarshshukla/Desktop/keystores/android.jks') storePassword 'qwerty' } } compileSdkVersion 27 defaultConfig { minSdkVersion 16
targetSdkVersion 27
applicationId "com.gyanapp"
versionCode 206
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
versionName "1.0.59"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
debuggable false
}
debug {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// manifestPlaceholders = [applicationId:android.defaultConfig.applicationId + ".dev"] debuggable true
}
}
flavorDimensions "default"
productFlavors {
dev {
buildConfigField "String", rootProject.ext.SERVER_URL, rootProject.ext.DEV_URL
buildConfigField "String", rootProject.ext.DYNAMIC_LINK, rootProject.ext.DEV_DYNAMIC_LINK
applicationId android.defaultConfig.applicationId + ".dev"
resValue "string", "app_name", "GyanApp-Dev"
versionName = android.defaultConfig.versionName
// manifestPlaceholders = [applicationId:android.defaultConfig.applicationId +".dev"]
}
prod {
buildConfigField "String", rootProject.ext.SERVER_URL, rootProject.ext.PROD_URL
buildConfigField "String", rootProject.ext.DYNAMIC_LINK, rootProject.ext.PROD_DYNAMIC_LINK
applicationId android.defaultConfig.applicationId
resValue "string", "app_name", "GyanApp"
versionName = android.defaultConfig.versionName
// manifestPlaceholders = [applicationId:android.defaultConfig.applicationId ] } compileOptions { sourceCompatibility = '1.8' targetCompatibility = '1.8' } } compileOptions { sourceCompatibility = '1.8' targetCompatibility = '1.8' } // project.ext { // daggerVersion = "2.15" // } }
dependencies { implementation project(':gyanapi') implementation fileTree(include: ['.jar'], dir: 'libs') implementation project(':aztec') implementation project(':glide-loader') implementation project(':picasso-loader') implementation project(':wordpress-comments') implementation project(':wordpress-shortcodes') implementation 'com.android.support:multidex:1.0.3' implementation fileTree(include: ['.jar'], dir: 'libs') implementation "com.android.support:appcompat-v7:$supportLibVersion" implementation 'org.apmem.tools:layouts:1.10@aar' implementation 'joda-time:joda-time:2.9.4' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' implementation 'com.android.support:design:28.0.0' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
// Dagger core
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
implementation "com.google.dagger:dagger:$daggerVersion"
// Dagger Android
annotationProcessor "com.google.dagger:dagger-android-processor:$daggerVersion"
implementation "com.google.dagger:dagger-android-support:$daggerVersion"
// if you are not using support library, include this instead
implementation "com.google.dagger:dagger-android:$daggerVersion"
kapt "com.google.dagger:dagger-compiler:$daggerVersion"
kapt "com.google.dagger:dagger-android-processor:$daggerVersion"
// Lifecyles, LiveData and ViewModel
implementation 'android.arch.lifecycle:runtime:1.1.1'
implementation 'android.arch.lifecycle:extensions:1.1.1'
kapt 'android.arch.lifecycle:extensions:1.1.1'
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
// ReactiveX
implementation "io.reactivex.rxjava2:rxjava:$rxJavaVersion"
implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion"
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
// Retrofit2 converter
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
// Retrofit2 and RxJava2
implementation 'io.reactivex.rxjava2:rxjava:2.1.9'
// RxAndroid adds android specific bindings for RxJava,
// Specifically AndroidSchedulers.mainThread() which provides a Scheduler
// that schedules on main thread and can be used to switch between threads in Android.
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
// Retrofit 2 works seamlessly with RxJava 2 using the
// RxJava 2 adapter for Retrofit 2, add the following dependency
// to enable the RxJava 2 compatibility
implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
implementation('com.crashlytics.sdk.android:crashlytics:2.9.5@aar') {
transitive = true;
}
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'
implementation "com.github.bumptech.glide:glide:$glideVersion"
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.facebook.android:facebook-android-sdk:4.37.0'
implementation 'org.parceler:parceler-api:1.1.11'
annotationProcessor 'org.parceler:parceler:1.1.11'
implementation 'org.jsoup:jsoup:1.10.3'
implementation 'com.facebook.shimmer:shimmer:0.1.0@aar'
implementation 'com.github.duanhong169:colorpicker:1.1.5'
implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.6.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
implementation "org.wordpress:utils:$wordpressUtilsVersion"
implementation 'com.mixpanel.android:mixpanel-android:5.+'
implementation 'com.google.android.gms:play-services-gcm:16.1.0'
implementation 'com.google.firebase:firebase-dynamic-links:16.1.8'
implementation "com.google.firebase:firebase-invites:16.1.1"
implementation 'com.google.firebase:firebase-perf:16.2.5'
implementation 'com.android.installreferrer:installreferrer:1.0'
implementation "android.arch.work:work-runtime:$work_version" // use -ktx for Kotlin+Coroutines
// optional - RxJava2 support
implementation "android.arch.work:work-rxjava2:$work_version"
// optional - Test helpers
androidTestImplementation "android.arch.work:work-testing:$work_version"
// implementation 'com.appsee:appsee-android:+' implementation 'com.uxcam:uxcam:3.0.6@aar' implementation 'com.tbuonomo.andrui:viewpagerdotsindicator:3.0.3' implementation 'com.airbnb.android:lottie:2.6.0'
implementation 'com.clevertap.android:clevertap-android-sdk:3.4.2'
implementation 'com.google.android.exoplayer:exoplayer:2.8.4'
implementation 'com.google.android.exoplayer:exoplayer-hls:2.8.4'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.8.4'
// Room components implementation "android.arch.persistence.room:runtime:$rootProject.roomVersion" kapt "android.arch.persistence.room:compiler:$rootProject.roomVersion" androidTestImplementation "android.arch.persistence.room:testing:$rootProject.roomVersion"
// Lifecycle components kapt "android.arch.lifecycle:compiler:$rootProject.archLifecycleVersion"
// Coroutines api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$rootProject.coroutines" api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$rootProject.coroutines"
implementation 'com.facebook.stetho:stetho:1.5.1'
} apply plugin: 'com.google.gms.google-services' apply plugin: 'com.appsee.appsee-plugin'
kotlin { experimental { coroutines "enable" } }`
### proguard rules
` -keep public class implements com.bumptech.glide.module.GlideModule -keep public class extends com.bumptech.glide.module.AppGlideModule -keep public enum com.bumptech.glide.load.ImageHeaderParser$ { [] $VALUES; public *; }
-keep class com.google.gson.* { ; } -dontwarn com.squareup.picasso. -dontwarn com.squareup.okhttp. -keep public class org.jsoup.* { public ; }
-dontwarn com.google.errorprone.annotations.**
-keepclassmembers class * implements java.io.Serializable { private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); }
-keepnames class com.facebook.FacebookActivity -keepnames class com.facebook.CustomTabActivity
-keep class com.facebook.login.Login
-keepattributes Signature, InnerClasses
-keepclassmembers,allowshrinking,allowobfuscation interface {
@retrofit2.http.
-keepattributes Annotation
-keepclassmembers enum android.arch.lifecycle.Lifecycle$Event {
After updating to 1.2.0 I got
Warning: kotlinx.atomicfu.AtomicFU: can't find referenced method 'void setInterceptor(kotlinx.atomicfu.AtomicOperationInterceptor)' in program class kotlinx.atomicfu.InterceptorKt
from ProGuard, version 6.0.3.I solved it by adding
-dontwarn kotlinx.atomicfu.AtomicFU
in proguard rules, but I'm in doubt if it's a safe way to fix it and even if it is. It's probably required to add this line to coroutines.pro file.