diff --git a/.gitignore b/.gitignore
index e63336601e..650ef17967 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,7 +30,6 @@ Windows/ipch
Windows/bin-release
Windows/win-version.h
Windows/win-version-*.tmp
-android/assets
ext/_Output
android/lint.xml
PPSSPPWindows64.exe.manifest
@@ -96,11 +95,6 @@ __testcompare.png
vt_ref.bmp
GameLogNotes.txt
screenshots
-android/assets/lang
-android/assets/flash0
-android/assets/flash1
-android/assets/flash2
-android/assets/flash3
font_atlas.zim.png
asciifont_atlas.zim.png
ppge_atlas.zim.png
diff --git a/Windows/PPSSPP.vcxproj b/Windows/PPSSPP.vcxproj
index 5d673ac232..970a86d586 100644
--- a/Windows/PPSSPP.vcxproj
+++ b/Windows/PPSSPP.vcxproj
@@ -1071,7 +1071,6 @@
-
diff --git a/Windows/PPSSPP.vcxproj.filters b/Windows/PPSSPP.vcxproj.filters
index eca79d0228..64e7251cab 100644
--- a/Windows/PPSSPP.vcxproj.filters
+++ b/Windows/PPSSPP.vcxproj.filters
@@ -695,9 +695,6 @@
Build\Actions
-
- Build
-
Other Platforms\iOS
diff --git a/android/README.TXT b/android/README.TXT
deleted file mode 100644
index 082844e7aa..0000000000
--- a/android/README.TXT
+++ /dev/null
@@ -1,30 +0,0 @@
-================================================================
-
-NOTE: These are legacy instructions for building using ndk-build.
-
-We mostly only use this on CI because it's faster than gradle.
-There might also be some holdouts around still using eclipse.
-
-================================================================
-
-First, build the C++ static library:
-
-> cd android
-> ./ab.sh
-Or
-> ./ab.cmd
-
-as appropriate.
-
-Start Eclipse, import the android directory as an existing project
-You need to also load the "native" project into your eclipse workspace
-Build and run.
-
-If you modify the C++ code, you need to rebuild the static library, of
-course. To get Eclipse to understand that you have in fact changed something
-if you haven't also changed any Java code, just add a space character to
-PPSSPPActivity.java, or right click the project and choose Refresh, and then
-relaunch the app on the device.
-
-A real Android device is strongly recommended for testing. Don't trust
-the emulator.
diff --git a/android/ab-ant.sh b/android/ab-ant.sh
deleted file mode 100755
index cb3f172c46..0000000000
--- a/android/ab-ant.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-ant debug
-adb install -r bin/PPSSPP-debug.apk
-adb shell am start -n org.ppsspp.ppsspp/org.ppsspp.ppsspp.PpssppActivity
\ No newline at end of file
diff --git a/android/ab.cmd b/android/ab.cmd
index 6d955f625a..13ceb0c183 100644
--- a/android/ab.cmd
+++ b/android/ab.cmd
@@ -1,15 +1,3 @@
-mkdir assets > nul
-xcopy ..\assets\flash0 assets\flash0\ /s /y /dev/null || echo 4) $*
diff --git a/android/ant-build.bat b/android/ant-build.bat
deleted file mode 100644
index 0e9d314dfe..0000000000
--- a/android/ant-build.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-set ANDROID_HOME=path/to/android-sdk/
-set NDK=path/to/android-ndk/
-ant release -Dndkbuildopt="-j6"
\ No newline at end of file
diff --git a/android/build.sh b/android/build.sh
deleted file mode 100644
index f64de1c028..0000000000
--- a/android/build.sh
+++ /dev/null
@@ -1 +0,0 @@
-cmake .. && make && (cd ../jni; ../build/atlastool atlasscript.txt main; cd ../build) && make && (cd ../jni; ../build/phoenix; cd ../build)
diff --git a/android/build.xml b/android/build.xml
deleted file mode 100644
index 857125cf8d..0000000000
--- a/android/build.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/buildassets.sh b/android/buildassets.sh
deleted file mode 100644
index 2c357d32ff..0000000000
--- a/android/buildassets.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-mkdir -p assets
-cp ../assets/*.zim assets/
-cp ../assets/*.meta assets/
-cp ../assets/*.wav assets/
-cp ../assets/*.ini assets/
-cp ../assets/*.ttf assets/
-cp -r ../assets/flash0 assets/
-cp -r ../assets/lang assets/
-cp -r ../assets/ui_images assets/
diff --git a/android/custom_rules.xml b/android/custom_rules.xml
deleted file mode 100644
index 292a376101..0000000000
--- a/android/custom_rules.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/proguard-project.txt b/android/proguard-project.txt
deleted file mode 100644
index f2fe1559a2..0000000000
--- a/android/proguard-project.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-# To enable ProGuard in your project, edit project.properties
-# to define the proguard.config property as described in that file.
-#
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in ${sdk.dir}/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the ProGuard
-# include property in project.properties.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/android/project.properties b/android/project.properties
deleted file mode 100644
index 5e19b7a0b1..0000000000
--- a/android/project.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-
-# Project target.
-target=android-26
diff --git a/android/symx86.cmd b/android/symx86.cmd
deleted file mode 100644
index df2f21c925..0000000000
--- a/android/symx86.cmd
+++ /dev/null
@@ -1 +0,0 @@
-adb logcat | %NDK%\ndk-stack -sym obj/local/x86
\ No newline at end of file
diff --git a/docs/building.md b/docs/building.md
index ac4be71e47..af90594c91 100644
--- a/docs/building.md
+++ b/docs/building.md
@@ -61,6 +61,13 @@ bug, since CI runs the equivalent of `UnitTest.exe all` on every commit across m
platforms without apparent issue. If `all`/`Jit` hangs in your environment, run every other
test by name instead (skip `Jit`) to still get real coverage.
+## Android assets
+
+The APK's `assets/` directory is the repo-root `assets/` directory, wired up by
+`assets.directories.add("../assets")` in `android/build.gradle.kts`. There's no copy step, so a file dropped
+in `assets/` ships as-is. `ndk-build` doesn't read assets at all, and nothing populates `android/assets/` -
+if you have one, it's a leftover from the old Ant/Eclipse build and is ignored.
+
## Legacy Android build (android/jni)
There is a legacy Android build using the raw NDK build system (`android/jni/Android.mk` + `ndk-build`), separate from the
@@ -69,8 +76,8 @@ useful for quick test builds (it can build `ppsspp_headless` and the unit tests
by default, but if you want to test-build it locally:
- The NDK path is hardcoded in `android/ab.cmd` (Windows) or passed via the `NDK` env var to `android/ab.sh` (POSIX).
- It should match the `ndkVersion` in `android/build.gradle.kts`. The scripts copy assets first, then run ndk-build with
- a core count derived from the machine (nproc / %NUMBER_OF_PROCESSORS%).
+ It should match the `ndkVersion` in `android/build.gradle.kts`. The scripts just run ndk-build with a core count
+ derived from the machine (nproc / %NUMBER_OF_PROCESSORS%).
- Example (POSIX): `cd android && NDK=/path/to/ndk ./ab.sh APP_ABI=arm64-v8a HEADLESS=1`
- The `ppsspp_headless` executable ends up in `android/libs//`.