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

Building app with proguard fails - Warning: class [com/appsflyer/r.class] unexpectedly contains class [com.appsflyer.R] #6

Open
klamborowski opened this issue Apr 18, 2019 · 3 comments

Comments

@klamborowski
Copy link

Hi,

I'm trying to integrate AppsFlyerSDK to my android app, but building application with proguard fails.

First, I have added dependencies to my build.gradle file:

implementation 'com.appsflyer:af-android-sdk:4.9.0'
implementation 'com.android.installreferrer:installreferrer:1.0'

And the following lines to my proguard file:

-dontwarn com.android.installreferrer
-keep class com.appsflyer.** { *; }

Unfortunately, when build process reaches proguard step, the following warning occurs and build fails.

ProGuard, version 6.1.0 beta2
Reading input...
Reading program jar [C:\Projects\application-android\app\build\intermediates\transforms\mergeJavaRes\prod\release\0.jar] (filtered)
Reading program jar [C:\Projects\application-android\app\build\intermediates\transforms\AspectTransform\prod\release\1.jar] (filtered)
Warning: class [com/appsflyer/r.class] unexpectedly contains class [com.appsflyer.R]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\android.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\build-tools\28.0.3\core-lambda-stubs.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\optional\org.apache.http.legacy.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\optional\android.test.mock.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\optional\android.test.base.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\optional\android.test.runner.jar]
Warning: there were 1 classes in incorrectly named files.
         You should make sure all file names correspond to their class names.
         The directory hierarchies must correspond to the package hierarchies.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unexpectedclass)
         If you don't mind the mentioned classes not being written out,
         you could try your luck using the '-ignorewarnings' option.
Warning: Exception while processing task java.io.IOException: Please correct the above warnings first.
Thread(Tasks limiter_2): destruction
> Task :app:transformClassesAndResourcesWithProguardForProdRelease FAILED

When I add -dontwarn com.appsflyer.** to proguard file build process ends with success, but running app causes the following error:

2019-04-17 14:34:06.112 E/AndroidRuntime: FATAL EXCEPTION: Thread-21
    Process: pl.application, PID: 18355
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:353)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at com.appsflyer.AFExecutor$3$5.run(:30)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/appsflyer/r;
        at com.appsflyer.AppsFlyerLib.ˏ(:1119)
        at com.appsflyer.AFDeepLinkManager$3.ॱ(:3029)
        at com.appsflyer.AppsFlyerLib$3.ˊ(:445)
        at com.appsflyer.m$c.ˋ(:181)
        at com.appsflyer.m$c.doInBackground(:164)
        at android.os.AsyncTask$2.call(AsyncTask.java:333)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
        at com.appsflyer.AFExecutor$3$5.run(:30) 
        at java.lang.Thread.run(Thread.java:764) 
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.appsflyer.r" on path: DexPathList[[zip file "/data/app/pl.application-YzH9kA_8z_dQFv_2qIXymA==/base.apk"],nativeLibraryDirectories=[/data/app/pl.application-YzH9kA_8z_dQFv_2qIXymA==/lib/arm64, /data/app/pl.application-YzH9kA_8z_dQFv_2qIXymA==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.appsflyer.AppsFlyerLib.ˏ(:1119) 
        at com.appsflyer.AFDeepLinkManager$3.ॱ(:3029) 
        at com.appsflyer.AppsFlyerLib$3.ˊ(:445) 
        at com.appsflyer.m$c.ˋ(:181) 
        at com.appsflyer.m$c.doInBackground(:164) 
        at android.os.AsyncTask$2.call(AsyncTask.java:333) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
        at com.appsflyer.AFExecutor$3$5.run(:30) 
        at java.lang.Thread.run(Thread.java:764) 

After short investigation I have found that both com/appsflyer/r and com/appsflyer/R exists in class.dex from my generated apk file.

Has any of you encountered a similar problem and found a solution?

@okonor
Copy link

okonor commented Mar 30, 2020

I have the same issue. Have you managed to find any solution?

@martppa
Copy link

martppa commented Apr 2, 2020

I am facing the same issue. :/

@xuuhaoo
Copy link

xuuhaoo commented Jun 2, 2020

I am facing the same issue too, and somebody said the downgrade SDK version to 4.8.19 is worked. I have no tried this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants