# Module main depends on undefined modules: SDL2

**URL:** <https://discourse.libsdl.org/t/module-main-depends-on-undefined-modules-sdl2/42553>\
**Category:** SDL Development\
**Created:** [February 10, 2023, 1:12pm UTC](https://discourse.libsdl.org/t/module-main-depends-on-undefined-modules-sdl2/42553 "2023-02-10T13:12:22Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![lihuipeng49](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/l/67e7ee/32.png) [@lihuipeng49](https://discourse.libsdl.org/u/lihuipeng49)\
**Post date:** [February 10, 2023, 1:12pm UTC](https://discourse.libsdl.org/t/module-main-depends-on-undefined-modules-sdl2/42553/1 "2023-02-10T13:12:22Z")

</div>

I download the source code of ‘SDL-release-2.26.3’.  
I am working on Windows 10.  
I see there is an ‘android-project’ folder under the source code root.  
When I use Android Studio open the android-project, I got the error:

==========================================================================  
Starting Gradle Daemon…  
Gradle Daemon started in 1 s 678 ms  
IOException: [https://dl.google.com/android/repository/addons\_list-4.xml](https://dl.google.com/android/repository/addons_list-4.xml)  
java.net.ConnectException: Connection refused: connect  
IOException: [https://dl.google.com/android/repository/addons\_list-3.xml](https://dl.google.com/android/repository/addons_list-3.xml)  
java.net.ConnectException: Connection refused: connect  
IOException: [https://dl.google.com/android/repository/addons\_list-2.xml](https://dl.google.com/android/repository/addons_list-2.xml)  
java.net.ConnectException: Connection refused: connect  
IOException: [https://dl.google.com/android/repository/addons\_list-1.xml](https://dl.google.com/android/repository/addons_list-1.xml)  
java.net.ConnectException: Connection refused: connect  
Failed to download any source lists!  
IO exception while downloading manifest:  
java.net.ConnectException: Connection refused: connect  
at java.base/java.net.PlainSocketImpl.connect0(Native Method)  
at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)  
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)  
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)  
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)  
at java.base/java.net.Socket.connect(Socket.java:609)  
at java.base/java.net.Socket.connect(Socket.java:558)  
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)  
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)  
at java.base/sun.net.www.http.HttpClient$1.run(HttpClient.java:526)  
at java.base/sun.net.www.http.HttpClient$1.run(HttpClient.java:524)  
at java.base/java.security.AccessController.doPrivileged(Native Method)  
at java.base/sun.net.www.http.HttpClient.privilegedOpenServer(HttpClient.java:523)  
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:564)  
at java.base/sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:265)  
at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)  
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:203)  
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1232)  
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)  
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:189)  
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168)  
at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.openUrl(DownloadCache.java:245)  
at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.downloadAndCache(DownloadCache.java:622)  
at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.openCachedUrl(DownloadCache.java:545)  
at com.android.sdklib.repository.legacy.LegacyDownloader.downloadAndStream(LegacyDownloader.java:65)  
at com.android.repository.impl.downloader.LocalFileAwareDownloader.downloadAndStream(LocalFileAwareDownloader.java:51)  
at com.android.repository.impl.manager.RemoteRepoLoaderImpl.lambda$fetchPackages$0(RemoteRepoLoaderImpl.java:138)  
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)  
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)  
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)  
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)  
at java.base/java.lang.Thread.run(Thread.java:834)

IO exception while downloading manifest:  
java.net.ConnectException: Connection refused: connect  
at java.base/java.net.PlainSocketImpl.connect0(Native Method)  
at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)  
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)  
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)  
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)  
at java.base/java.net.Socket.connect(Socket.java:609)  
at java.base/java.net.Socket.connect(Socket.java:558)  
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)  
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)  
at java.base/sun.net.www.http.HttpClient$1.run(HttpClient.java:526)  
at java.base/sun.net.www.http.HttpClient$1.run(HttpClient.java:524)  
at java.base/java.security.AccessController.doPrivileged(Native Method)  
at java.base/sun.net.www.http.HttpClient.privilegedOpenServer(HttpClient.java:523)  
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:564)  
at java.base/sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:265)  
at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)  
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:203)  
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1232)  
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)  
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:189)  
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168)  
at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.openUrl(DownloadCache.java:245)  
at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.downloadAndCache(DownloadCache.java:622)  
at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.openCachedUrl(DownloadCache.java:545)  
at com.android.sdklib.repository.legacy.LegacyDownloader.downloadAndStream(LegacyDownloader.java:65)  
at com.android.repository.impl.downloader.LocalFileAwareDownloader.downloadAndStream(LocalFileAwareDownloader.java:51)  
at com.android.repository.impl.manager.RemoteRepoLoaderImpl.lambda$fetchPackages$0(RemoteRepoLoaderImpl.java:138)  
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)  
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)  
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)  
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)  
at java.base/java.lang.Thread.run(Thread.java:834)

Still waiting for package manifests to be fetched remotely.  
C/C++: C:/Users/lihui/AppData/Local/Android/Sdk/ndk/21.4.7075529/build//../build/core/build-binary.mk:651: Android NDK: Module main depends on undefined modules: SDL2  
C/C++: C:/Users/lihui/AppData/Local/Android/Sdk/ndk/21.4.7075529/build//../build/core/build-binary.mk:664: \*\*\* Android NDK: Note that old versions of ndk-build silently ignored this error case. If your project worked on those versions, the missing libraries were not needed and you can remove those dependencies from the module to fix your build. Alternatively, set APP\_ALLOW\_MISSING\_DEPS=true to allow missing dependencies. . Stop.  
[CXX1405] error when building with ndkBuild using C:\SVN\SDL2\SDL-release-2.26.3\android-project\app\jni\Android.mk: Build command failed.  
Error while executing process C:\Users\lihui\AppData\Local\Android\Sdk\ndk\21.4.7075529\ndk-build.cmd with arguments {NDK\_PROJECT\_PATH=null APP\_BUILD\_SCRIPT=C:\SVN\SDL2\SDL-release-2.26.3\android-project\app\jni\Android.mk NDK\_APPLICATION\_MK=C:\SVN\SDL2\SDL-release-2.26.3\android-project\app\jni\Application.mk APP\_ABI=x86 NDK\_ALL\_ABIS=x86 NDK\_DEBUG=1 NDK\_OUT=C:\SVN\SDL2\SDL-release-2.26.3\android-project\app\build\intermediates\cxx\Debug\4l4f9o2e/obj NDK\_LIBS\_OUT=C:\SVN\SDL2\SDL-release-2.26.3\android-project\app\build\intermediates\cxx\Debug\4l4f9o2e/lib APP\_PLATFORM=android-16 APP\_SHORT\_COMMANDS=false LOCAL\_SHORT\_COMMANDS=false -B -n}

C:/Users/lihui/AppData/Local/Android/Sdk/ndk/21.4.7075529/build//../build/core/build-binary.mk:651: Android NDK: Module main depends on undefined modules: SDL2  
C:/Users/lihui/AppData/Local/Android/Sdk/ndk/21.4.7075529/build//../build/core/build-binary.mk:664: \*\*\* Android NDK: Note that old versions of ndk-build silently ignored this error case. If your project worked on those versions, the missing libraries were not needed and you can remove those dependencies from the module to fix your build. Alternatively, set APP\_ALLOW\_MISSING\_DEPS=true to allow missing dependencies. . Stop.

# BUILD SUCCESSFUL in 25s

My Android Studio’s Build button can’t be use, is in gray state.

I think may be I need do some thing to build SDL2 lib first, and then build the android-project.  
But I don’t know where to find the docs for build the android-project.

I want to build the andorid-project because I think it is a completely android project sample.  
Is the android-project folder for that reason?

I want to got a template to do the begin of my SDL2 dev.

---

<div class="post-metadata">

**Author:** ![lihuipeng49](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/l/67e7ee/32.png) [@lihuipeng49](https://discourse.libsdl.org/u/lihuipeng49)\
**Post date:** [February 11, 2023, 1:47am UTC](https://discourse.libsdl.org/t/module-main-depends-on-undefined-modules-sdl2/42553/2 "2023-02-11T01:47:28Z")

</div>

I found this.  
Maybe useful for others.

Building SDL2.0.10 in Android Studio 3.4.2 in Windows 10

> [@Building SDL2.0.10 in Android Studio 3.4.2 in Windows 10](https://discourse.libsdl.org/t/building-sdl2-0-10-in-android-studio-3-4-2-in-windows-10/26481):
>
> This is the updated tutorial to set up and build an app with SDL2.0.10 in Android Studio 3.4.2 in Windows 10 This time I checked to make sure that the text formatting was correct efter I formattesd the quoted text. In the previous tutorial there were some missing characters. If you find some errors please point it out to make it easier for others. slight_smile For this instructions we wish to create a app named DemolitionCrew. Change accordingly to your situation. Since all the examples is …
