path: root/android
AgeCommit message (Collapse)AuthorFilesLines
2020-04-13android: Fix configure script for "newer" versions of the NDKSolomon Peachy1-2/+4
The oldest verison of the NDK one can still download today is version 10e from mid-2015, which comes with GCC 4.9, and no longer supports 32-bit hosts. With this, one can actually compile the iBasso DX50/DX90 targets again, as well as the generic android target, as long as one has the correct SDK platforms (v16 for ibasso, v19 for generic) and SDK tools installed. Change-Id: I62f2e742d5cfc13133244aeff75a928a7294ac91
2017-09-06Make android build work with both old and new locations of zipalignFrank Gevaerts1-1/+5
Change-Id: I56438c55debc60cb5e1a118ce0123f0c837258cd
2014-09-25Don't require a specific BUILD_TOOLS_VERSION.Frank Gevaerts1-1/+1
Pick anything with the correct major version, which should be good enough. Currently we want sdk version 19, which has tools that come as 19.0.3 or 19.1.0, depending on when exactly the sdk was installed. Both work fine for rockbox, so accepting both is useful. Change-Id: Ie31306210e3cfe78288269574e78976b682eab31
2014-05-21Fix android black screen crashJonathan Gordon2-0/+8
Change-Id: I7a0eb121ff151b8b6e8f824ee8dbab8d99b73499
2014-05-15Fix android SDK version and the yes/no screen titleJonathan Gordon3-2/+3
Change-Id: I84a067adcc83291de5131c88483f400d38bea15b
2014-03-10android: Fix script.Thomas Martitz1-6/+6
Change-Id: I6c22043956cea5c5aec3e411045082e1a9b69442
2014-03-09android: Get the port up and running againThomas Martitz5-15/+29
The build system needed fixes because the tools paths changed and one tool that we used (apkbuilder) was removed entirely. Recent NDKs don't ship gcc 4.4.3 anymore, therefore switch to 4.6. The code itself needed a fix for a jni reference bug that was uncovered by KitKat. The port now builds with latest sdk (r22) and ndk (r9d). Change-Id: Id74fa54ba93bbb0ee30373fbe79e92c5ff03201d
2013-04-01android: Rewrite PCM playback without OnPlaybackPositionUpdateListener.Thomas Martitz1-55/+103
The old way actually mis-used the API (I misunderstood the docs) because it specified the marker position as a "low buffer watermark" but instead of a future playback head position. The replacement is a simple thread that writes the data regardless of the filling level of the buffer (write() will just block) and polls the playback state periodically. Change-Id: If29237cee4ce78dc42f5a8320878bab0cafe78f7 Reviewed-on: Tested-by: Dominik Riebeling <> Reviewed-by: Thomas Martitz <>
2013-01-18android: Hopefully fix a rare hang of the UI.Thomas Martitz1-16/+28
Sometimes (and perhaps only on some devices) Android's YesNo dialog loses focus and is put to the background. Since the native code waits on the result (which is then impossible to happen) it would become impossible to further control Rockbox. This is an attempt to fix as I cannot reproduce the problem on my device(s). Change-Id: Iff849ff4be5e8f41922fb7d36491d860486c6441
2013-01-09android: Update to SDK r16 and ndk r8d.Thomas Martitz5-457/+10
SDK r17 is out, however there it only ships a x86 system image for r16 so it's preferable. Change-Id: Idc4d375debf407a36c2dc6421420bdbd74ab25ca
2012-11-30Fix .apk signs when using OpenJDK7 (Android builds)Thiago Kenji Okada1-0/+1
This fix the "jarsigner error: private key algorithm is not compatible with signature algorithm" when compiling Android builds using OpenJDK7. This patch explicit how keytools make a debug key so it is compatible with the changes in jarsigner made on OpenJDK7. It is still working with OpenJDK6. For those who already have a debug key, it will be necessary to remove the previous key located on ~/.android. Change-Id: Ifa4d37d0bda76e8937dc18572a7e8586c1a18a63 Reviewed-on: Reviewed-by: Frank Gevaerts <> Fix FS#12706 - paths for backdrops and icons were not properly ↵Thomas Martitz1-0/+1
constructed. Change-Id: I90b92241501f61e6b1de5305ff6482a9ddbdf722
2012-06-14Allow building android with java 1.7.Frank Gevaerts1-2/+3
* Specify source and target java versions for android build * Specify algorithms for jarsigner Change-Id: I59d743b9e5484ac93b6f9361b1c41f9862964b0f
2012-06-11Add the Android/MIPS targetFrank Gevaerts1-2/+2
Change-Id: Iec1d2f08c8a43e486ab1696566a718b18598ff95
2012-05-13android: Fix FS#12670, regressed back button behavior.Thomas Martitz1-2/+9
3f4be75 introduced this regression where the back button stopped working as intended. Explicitely request the focus on the RockboxFramebuffer object to fix. Change-Id: Ibc67e3d02e076674a086d43c5967370c4524fd14
2012-04-25Add codecs to librbcodec.Sean Bartell1-1/+1
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: Reviewed-by: Nils Wallménius <> Tested-by: Nils Wallménius <>
2012-04-17android: Bring back broken unzip progress dialog.Thomas Martitz2-11/+22
Change-Id: I7c788f4fcbdf15aa4955f3970db045b47207f8de
2012-04-17android: bump target platform version to 4.0.3 (this time for real).Thomas Martitz1-1/+1
Change-Id: I616c1de498f2975c8af3e08b51d8fae77869f441
2012-04-04Refactor and unify objcopy calls in the build system. Also now properly ↵Thomas Martitz1-1/+1
handles DEBUG builds on hosted targets to keep debug symbols if necessary. Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
2012-03-26build system: unify/simplify library handling a bit.Thomas Martitz1-1/+1
libs in $ROOT/lib now add to $(CORE_LIBS) and $(EXTRA_LIBS) and are automatically linked by the core and codecs/plugins respectively. Change-Id: Iff482c792a8c8142718f6a16a450c6e2f1497c9a
2012-03-25android: only output unzip log message when performing the unzip.Thomas Martitz1-8/+8
Change-Id: I16dda180d51832569097d7dd1866ba7f56cdf876
2012-03-25android: clean-up and some refactoring in java code.Thomas Martitz6-75/+63
Change-Id: I78cadb0b71bcb65a55006bf52cfe3e6cda891a38
2012-03-22android: Remove hack not needed anymore (since 58e097d).Thomas Martitz1-7/+0
Change-Id: I3396a1245fe5fcbb5d2494bfabf8972c7617e6b1
2012-03-22android: lcd_update/_rect() changesThomas Martitz1-12/+7
* rename some java methods (to update(), initialize()) * re-create the ByteBuffer object from the framebuffer on every update. This is needed now since 2c71aa9 added the possiblity for lcd_framebuffer to change. * do so, along with the creation of the dirty Rect object, in native code. Change-Id: Id39ea8e4b6148987c5f216a87e0ff3c8e7babe92
2012-03-18Add RBCODEC_LIB to android and ypr0 builds so they link again.Frank Gevaerts1-1/+1
Change-Id: I022c7beba844a9b2cfcb8ec7950a1348e4bf511a
2012-02-22Arm stack unwinderMarcin Bukat1-1/+1
Simplified stack unwinder for ARM. This is port of backtrace() is called from UIE() on native targets and from panicf() on both native and ARM RaaA. Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
2012-01-21Hosted: Output map files after linking.Thomas Martitz1-1/+1
Change-Id: I5ac64d781aaa1aa2b3157589f8e689c0d946a39f
2012-01-03android: Add preliminary eclipse support for building the native code, ↵Thomas Martitz3-0/+42
disabled by default. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-03android: Update build system for recent SDK versions and target ice cream ↵Thomas Martitz6-24/+161
sandwich. As a result, the java parts can now be build using ant (in the android dir). Just issue "ant debug" after "make libs". Building the java parts from eclipse also still works. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-03Adjust a few makefiles to generate smaller (upto 80%) binaries on RaaA throughThomas Martitz1-0/+1
stripping. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-19Android: Ship cpufeatures.[ch] from the sdk to enable the build under the ↵Thomas Martitz3-9/+460
ndk r5 again. Otherwise we could only build under r6. As r7 is the latest and can't build rockbox don't break peoples installed ndks. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-19Fix left-over hardcoded path (oops).Thomas Martitz1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-19Hosted/linux: Add process/cpu info screen to the debug menu.Thomas Martitz1-3/+13
The new menu is very helpful on RaaA, but also shown in the sim. It shows the process cpu usage, process' time stats (user,sys,real) and the cpu frequency stats. It uses a thread to sample the data, however the thread is not created until the menu is visited for the first time. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-22Android: Work around an android bug.Thomas Martitz1-36/+53
BitmapFactory.decodeFile() fails when called outside the main thread. Work around by running the code on the main thread. This also has the advantage of off-loading from the Rockbox thread which should improve track skipping delays. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-01Android: show Album Art in notification area.Dominik Riebeling2-8/+40
Instead of showing the small Rockbox clef logo show the Album Art if available. If no Album Art is available show the clef logo about the same size as the Album Art. - The notification area process doesn't have permissions to access the SD card. Therefore the image needs to be read and set as Bitmap instead of simply setting the Uri to it as done in the widget. - Passing a full sized image to the Notification Manager can cause issues (Rockbox UI hanging, notification not updating anymore, force closes). Scale down the image to the same size the launcher icon has to avoid this. This also makes the logo shown when no Album Art is available have the same size which looks nicer than having different sizes. Album Art images are allowed to be wider since there is enough room. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-30Disable android status bar again, until we have a generic theme solution.Björn Stenberg1-0/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-28Enable Android status bar.Björn Stenberg1-3/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-08Fix toolchain installation.Dominik Riebeling1-1/+1
The filter for platform-tools is platform-tool, in contrast to the folder it installs. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-05Added 'platform-tools' to the features installed by for ↵Bryan Childs1-1/+1
the android build git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-04Android: store resources on SD card.Dominik Riebeling1-2/+25
On the first start Rockbox extracts which in fact is a zip file holding resource files like theme bitmaps. Those can requires quite a bit of memory. As extended version of FS#12063 resources will now be extracted to SD card if the file /sdcard/rockbox/rockbox-info.txt is found. This file is part of the extracted resources and can therefore safely be used for checking. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-20Android tools: Allow discovery of download URLsMaurus Cuelenaere1-14/+14
Automatically discover the latest and greatest version of the Android SDK and NDK by fetching it from the index. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-14Android: Undo r30293 partly as it prevents installation.Thomas Martitz1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-14Android: Fix a few java warnings. Upgrade ndk platform to 2.0 (don't support ↵Thomas Martitz3-7/+2
1.6 anymore). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-19Android: Change headphone detection to call into native.Thomas Martitz1-3/+4
Making a JNI call from tick tasks is not permitted as the underlying thread is not attached to the Java VM. This is an error and crashes in the emulator (which has stricter JNI checks enabled by default). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-18Android: Rework RunForegroundManager (again)Thomas Martitz3-66/+88
Restore pre-r29562 way of doing compatibility and adapt it to what MediaButtonReceiver looks like. I.e. assume the new API is there, and fall back to the old API if an exception is raised because the API isn't there. The old API still needs to be discovered through reflection because it's removed entirely from Honeycomb. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-18Android: Fix long unnoticed typo in function call, leading to the wrong ↵Thomas Martitz1-1/+1
function being called. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-18Forgot to add new class file in r30161.Thomas Martitz1-0/+44
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-18Android: Slightly rework logging to logcat by offloading duplicated code to ↵Thomas Martitz5-35/+6
a new helper class. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-18Android: Refactor some of the glue code.Thomas Martitz5-86/+140
* Cleanup by moving the battery and headphone monitors to separate classes and detaching their instances * Move those monitors and into a new monitors subdirectory * Call those monitors all the same from native code by creating the objects there git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-18Android: Fix sporadic force closes.Thomas Martitz1-1/+5
Android restarts services that are killed during memory pressure. The intent parameter is null then. This caused a null pointer exception. Now replace this null intent with one saying we've been restarted. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657