--
opened this issue · comments
Deleted user commented
I'm trying to implement dagger 2 to our project with proguard enabled. but when the app installed on device (using signed apk) and try to use it we got error.
error
09-19 11:42:57.643 29833-29833/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.xxxx.app.apn, PID: 29833
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxx.app.apn/com.xxxx.app.apn.ui.main.MainActivity}: java.lang.RuntimeException: Stub!
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3151)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3261)
at android.app.ActivityThread.access$1000(ActivityThread.java:219)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1735)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6939)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by: java.lang.RuntimeException: Stub!
at android.app.a.c.<init>(Unknown Source)
at com.xxxx.app.apn.dagger.module.ServiceModule.provideEnterpriseDeviceManager(Unknown Source)
at com.xxxx.app.apn.dagger.module.ServiceModule_ProvideEnterpriseDeviceManagerFactory.get(Unknown Source)
at com.xxxx.app.apn.dagger.module.ServiceModule_ProvideEnterpriseDeviceManagerFactory.get(Unknown Source)
at a.a.a.get(Unknown Source)
at com.xxxx.app.apn.service.KnoxServiceImpl_MembersInjector.injectMembers(Unknown Source)
at com.xxxx.app.apn.service.KnoxServiceImpl_MembersInjector.injectMembers(Unknown Source)
at com.xxxx.app.apn.dagger.component.DaggerApplicationComponent.inject(Unknown Source)
at com.xxxx.app.apn.service.KnoxServiceImpl.<init>(Unknown Source)
at com.xxxx.app.apn.dagger.module.ServiceModule.mKnoxService(Unknown Source)
at com.xxxx.app.apn.dagger.module.ServiceModule_MKnoxServiceFactory.get(Unknown Source)
at com.xxxx.app.apn.dagger.module.ServiceModule_MKnoxServiceFactory.get(Unknown Source)
at com.xxxx.app.apn.receiver.SimStateReceiverImpl_MembersInjector.injectMembers(Unknown Source)
at com.xxxx.app.apn.receiver.SimStateReceiverImpl_MembersInjector.injectMembers(Unknown Source)
at com.xxxx.app.apn.dagger.component.DaggerApplicationComponent.inject(Unknown Source)
at com.xxxx.app.apn.receiver.SimStateReceiverImpl.<init>(Unknown Source)
at com.xxxx.app.apn.dagger.module.ReceiverModule.provideSimStateReceiver(Unknown Source)
at com.xxxx.app.apn.dagger.module.ReceiverModule_ProvideSimStateReceiverFactory.get(Unknown Source)
at com.xxxx.app.apn.dagger.module.ReceiverModule_ProvideSimStateReceiverFactory.get(Unknown Source)
at a.a.a.get(Unknown Source)
at com.xxxx.app.apn.ui.main.MainActivity_MembersInjector.injectMembers(Unknown Source)
at com.xxxx.app.apn.ui.main.MainActivity_MembersInjector.injectMembers(Unknown Source)
at com.xxxx.app.apn.dagger.component.DaggerApplicationComponent.inject(Unknown Source)
at com.xxxx.app.apn.ui.main.MainActivity.initialize(Unknown Source)
at com.xxxx.app.apn.ui.main.MainActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6609)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3104)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3261)
at android.app.ActivityThread.access$1000(ActivityThread.java:219)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1735)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6939)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
gradle (app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.xxxx.app.apn"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
debuggable false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
dev {
buildConfigField "String", "ELM_KEY", "\"123\""
}
prd {
buildConfigField "String", "ELM_KEY", "\"123\""
}
}
}
dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
testCompile 'junit:junit:4.12'
compile 'com.android.support:cardview-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.google.code.gson:gson:2.8.1'
compile 'com.google.dagger:dagger:2.11'
compile files('libs/edm.jar')
compile files('libs/license.jar')
annotationProcessor 'com.google.dagger:dagger-compiler:2.11'
annotationProcessor 'javax.annotation:jsr250-api:1.0'
}
proguard
####################################################################################################
# okhttp 3
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
# retrofit 2
# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote retrofit2.Platform
# Platform used when running on Java 8 VMs. Will not be used at runtime.
-dontwarn retrofit2.Platform$Java8
# Retain generic type information for use by reflection by converters and adapters.
-keepattributes Signature
# Retain declared checked exceptions for use by a Proxy instance.
-keepattributes Exceptions
-dontwarn javax.annotation.**
# okio
-dontwarn okio.**
####################################################################################################
-keep class com.xxxx.app.apn.** { *; }
-keep interface com.xxxx.app.apn.** { *; }
####################################################################################################
Please need your advice.
Regards,
Paijo