Search Issue Tracker

Fix in review

Votes

0

Found in

5.5.0f3

Issue ID

857978

Regression

No

[Android] Java classes are missing from .apk when building using Gradle with custom gradle template

Android

-

-

Priority: 7Not yet prioritized for a release

-

Severity: 3Workaround is possible

STR:
0. Substitute gradle mainTemplate with one provided by user at..\Editor\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates\mainTemplate.gradle
1. Open empty project in Unity
2. Build it with Internal builder and with gradle builder
3. Extract from both apks dex files
4. Convert these dexs to jars
5. Examine jars with Java Decompiler and see that in case of gradle build dex some classes in com.unity3d.player are missed

This happened bcs of incorrect ProGuard in Unity:
-keep class bitter.jnibridge.* { *; }
-keep class com.unity3d.* { *; }
-keep class org.fmod.* { *; }

It should be (notice the difference in com.unity3d.player):

-keep class bitter.jnibridge.* { *; }
-keep class com.unity3d.*player*.* { *; }
-keep class org.fmod.* { *; }

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.