Search Issue Tracker
By Design
Votes
0
Found in
2019.2.21f1
2019.3
2020.2
Issue ID
1222402
Regression
No
[Android] Could not find error is thrown when exporting Unity project as a native Android application
Reproduction steps:
1. Open the user-submitted project
2. Export the project as a native Android application
3. Open the project in Android Studio
4. Build the project
Expected result: Build is successful
Actual result: Build fails
Reproduces on: 2019.3.7f1, 2020.1.0b3, 2020.2.0a4
Notes:
The build is successful when building with Unity versions 2019.2.21f1 and below.
Could not test with Unity versions 2019.3.0a5 and below due to Failed to apply plugin [id 'com.android.library'] error.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Rigidbody2D.Slide API does not have the needed configuration when creating a 2D Top-Down character controller
- Opening reference for "Playables"component redirects to a missing page
- Sprite Renderer image is changed when switching Mask Interaction and changing Sprite to a shared Sprite
- An unsigned integer is not compared with an integer correctly in player when using IL2CPP backend
- Graphical artifacts are being rendered in Scenes that are loaded during run-time when GPU Resident Drawer is turned on
Resolution Note (2020.2.X):
A little bit of context:
Unity 2019.3 introduced feature called Unity as a Library (UaaL). To implement this feature, it was necessary to separate exported Android project into two modules: launcher and unitylibrary. So the new project structure now contains its build.gradle file and these two modules each of which contains its own build.gradle file.
Files paths are:
root: exported-project/build.gradle
launcher: exported-project/launcher/build.gradle
unitylibrary: exported-project/unitylibrary/build.gradle
So what is happening:
Provided repro project contains custom mainTemplate.gradle file where user defined additional project settings (repositories in this case). If Unity 2019.3 (or later) is used to export AndroidStudio project this gradle file will be used to create unitylibrary build.gradle file. If launcher module requires these dependencies as well building project will fail (as it does now).
So what can be done:
1 (Recommended) method: Update Unity to at least 2019.3.7f1 version. From this version Unity allows to replace any of build.gradle files mentioned above. Then replace root build.gradle file with custom one and add there all dependencies that are required by both modules. If user needs to modify other build.gradle files, he can do that as well.
Note: In this case I would recommend to export project without custom files first. This will generate default ones. Then put everything necessary for the project and use result as custom build.gradle file.
2 (workaround) method: Current mainTemplate.gradle file could be modified by putting repositories declaration into rootProject.allprojects scope like this:
rootProject.allprojects { repositories { user stuff } }. Although this will be defined in unitylibrary module, rootProject.allprojects will ensure that defined repositories will be available to all modules.