Commit graph

50 commits

Author SHA1 Message Date
Solomon Peachy
cfc02cadcc android: Fix configure script for "newer" versions of the NDK
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
2020-04-13 16:51:58 +02:00
Frank Gevaerts
1d58667c1f Make android build work with both old and new locations of zipalign
Change-Id: I56438c55debc60cb5e1a118ce0123f0c837258cd
2017-09-06 18:26:31 +02:00
Frank Gevaerts
be9c227270 Don't require a specific BUILD_TOOLS_VERSION.
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-09-25 00:26:25 +02:00
Jonathan Gordon
cb205c8b56 Fix android SDK version and the yes/no screen title
Change-Id: I84a067adcc83291de5131c88483f400d38bea15b
2014-05-15 20:18:48 +10:00
Thomas Martitz
6499ce3e44 android: Get the port up and running again
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
2014-03-09 18:11:35 +01:00
Thomas Martitz
d798c721e5 android: Update to SDK r16 and ndk r8d.
SDK r17 is out, however there it only ships a x86 system image for r16 so
it's preferable.

Change-Id: Idc4d375debf407a36c2dc6421420bdbd74ab25ca
2013-01-09 10:33:08 +01:00
Thiago Kenji Okada
a6713a5e36 Fix .apk signs when using OpenJDK7 (Android builds)
This fix the "jarsigner error: java.security.SignatureException: 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: http://gerrit.rockbox.org/359
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2012-11-30 11:39:35 +01:00
Frank Gevaerts
190577ee9d Allow building android with java 1.7.
* Specify source and target java versions for android build
* Specify algorithms for jarsigner

Change-Id: I59d743b9e5484ac93b6f9361b1c41f9862964b0f
2012-06-14 00:05:36 +02:00
Frank Gevaerts
d1560e5869 Add the Android/MIPS target
Change-Id: Iec1d2f08c8a43e486ab1696566a718b18598ff95
2012-06-11 22:29:45 +02:00
Sean Bartell
f40bfc9267 Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-04-25 22:13:20 +02:00
Thomas Martitz
0d9367744d android: bump target platform version to 4.0.3 (this time for real).
Change-Id: I616c1de498f2975c8af3e08b51d8fae77869f441
2012-04-17 17:19:31 +02:00
Thomas Martitz
4b56ee048a Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary.
Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
2012-04-04 21:48:19 +02:00
Thomas Martitz
f269aa0060 build system: unify/simplify library handling a bit.
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-26 22:27:40 +02:00
Frank Gevaerts
0fdbbc3afd Add RBCODEC_LIB to android and ypr0 builds so they link again.
Change-Id: I022c7beba844a9b2cfcb8ec7950a1348e4bf511a
2012-03-18 13:37:49 +01:00
Marcin Bukat
b4eab59951 Arm stack unwinder
Simplified stack unwinder for ARM. This is port of
http://www.mcternan.me.uk/ArmStackUnwinding/
backtrace() is called from UIE() on native targets
and from panicf() on both native and ARM RaaA.

Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
2012-02-22 08:33:26 +01:00
Thomas Martitz
6d19275876 Hosted: Output map files after linking.
Change-Id: I5ac64d781aaa1aa2b3157589f8e689c0d946a39f
2012-01-21 18:39:19 +01:00
Thomas Martitz
e9cb9538c7 android: Update build system for recent SDK versions and target ice cream 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://svn.rockbox.org/rockbox/trunk@31543 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 21:15:21 +00:00
Thomas Martitz
0bc64a6bb3 Adjust a few makefiles to generate smaller (upto 80%) binaries on RaaA through
stripping.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31541 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 21:15:11 +00:00
Thomas Martitz
7d61376ef8 Android: Ship cpufeatures.[ch] from the sdk to enable the build under the 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://svn.rockbox.org/rockbox/trunk@31369 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 19:58:44 +00:00
Thomas Martitz
8439c2e3e3 Fix left-over hardcoded path (oops).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31365 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 15:46:27 +00:00
Thomas Martitz
287454de2e Hosted/linux: Add process/cpu info screen to the debug menu.
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://svn.rockbox.org/rockbox/trunk@31364 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 15:42:04 +00:00
Thomas Martitz
33de9cdaef Android: Refactor some of the glue code.
* Cleanup RockboxService.java by moving the battery and
  headphone monitors to separate classes and detaching their instances
* Move those monitors and RockboxTelephony.java into a new
  monitors subdirectory
* Call those monitors all the same from native code by creating
  the objects there

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30160 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 21:02:47 +00:00
Björn Stenberg
35cd408196 Added NODEPS define to skip recompilation for zip and apk builds. Usage: make zip NODEPS=1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30050 a1c6a512-1295-4272-9138-f99709370657
2011-06-22 14:14:49 +00:00
Dominik Riebeling
26a92fa9e1 Android: adjust screen orientation based on LCD size.
If the screen size specified is wider than higher specify the orientation as
landscape in AndroidManifest.xml. This usually applies to tablets where Rockbox
in portrait mode feels unnatural.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29951 a1c6a512-1295-4272-9138-f99709370657
2011-06-04 10:36:34 +00:00
Dominik Riebeling
70b81e65cc Android: install codecs as native libs instead of extracting them (FS#12134).
Codec files are loaded as dynamic libraries. Instead of extracting them from
the packaged libmisc.so and therefore having them present twice on the device
put them into the apk as native libraries. Decreases the size of the installed
Rockbox by the compressed size of the codecs. Also, the extraction on first
Rockbox startup gets notably faster since it's less data to extract.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29940 a1c6a512-1295-4272-9138-f99709370657
2011-05-31 21:26:18 +00:00
Dominik Riebeling
fc68a0d3b0 Android: rework r29929 AndroidManifest.xml version handling.
Put the generated AndroidManifest.xml into the bin subfolder and remove it from
clean list. Avoids problems with cleaning if you're building in the android/
folder. Thanks to kugel for pointing out that people are actually doing that.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29931 a1c6a512-1295-4272-9138-f99709370657
2011-05-29 18:44:42 +00:00
Dominik Riebeling
bc3f9c1b71 Add source tree version into AndroidManifest.xml
Use the source tree version as versionName string. As result the Android
Settings menu will now show that version instead of a rather unhelpful "1.0".

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29929 a1c6a512-1295-4272-9138-f99709370657
2011-05-29 17:23:52 +00:00
Thomas Martitz
c77b014283 Use mkdir -p in the previous commit. Thanks sideral for spotting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29754 a1c6a512-1295-4272-9138-f99709370657
2011-04-21 09:35:35 +00:00
Thomas Martitz
f29c9d2289 Android: Fix creation of debug key if ~/.android doesn't exist.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29753 a1c6a512-1295-4272-9138-f99709370657
2011-04-21 09:04:04 +00:00
Maurus Cuelenaere
42f69c28c6 Android: replace installApk.sh "launching Rockbox activity"-behaviour with
'make launch'

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29565 a1c6a512-1295-4272-9138-f99709370657
2011-03-11 15:45:55 +00:00
Maurus Cuelenaere
4364111267 Android: update project to SDKv11
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29561 a1c6a512-1295-4272-9138-f99709370657
2011-03-11 15:45:34 +00:00
Frank Gevaerts
38084784ad Make $(DIRS) an order-only dependency, to avoid needless rebuilding of some files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29197 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 23:10:51 +00:00
Frank Gevaerts
276321e6d8 Change the way java files are compiled (do them all at once) in order to speed up builds. There is now an intermediate jar file to help (although that's not strictly necessary), so for rebuilds of single java files this may be a bit slower
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29196 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 22:13:51 +00:00
Thomas Martitz
0f4dfc4e9d Android/Java: Disable implicit compilation of dependecies to make the life easier for make.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29187 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 13:57:01 +00:00
Antoine Cellerier
c0c769c5a8 Add widgets to android port.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29170 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 20:47:32 +00:00
Antoine Cellerier
a448d8bac7 Android build tweaks.
Add make install target for android builds.
Remove standard install targets as they don't apply.
Add java compilation dependancy on generated resource class(es?) to prevent weird runtime issues.
Update installApk.sh script to use correct tool location in recent sdks.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29131 a1c6a512-1295-4272-9138-f99709370657
2011-01-24 17:06:04 +00:00
Maurus Cuelenaere
13f7dffb09 Android: make R.java depend on android/res dir
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28517 a1c6a512-1295-4272-9138-f99709370657
2010-11-06 02:02:54 +00:00
Thomas Martitz
a2a243b34e Fix a small dependency issue, the directories need to be created first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28503 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 23:12:18 +00:00
Maurus Cuelenaere
181f6b1aae Android port: $(TEMP_APK) depends on $(AP_), so add it to its dependencies
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28489 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 14:58:11 +00:00
Thomas Martitz
50a9d50fde Factor out the start/stopForeground and notification icon management into a separate class, don't let RockboxService.java become a beast.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28416 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 14:13:52 +00:00
Björn Stenberg
a8ed339ba5 Minor build script tweaks to make android auto-buildable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28156 a1c6a512-1295-4272-9138-f99709370657
2010-09-24 12:03:15 +00:00
Thomas Martitz
7f9e76556d Removed a bit too much, libmisc.so shall still depend on rockbox.zip
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28142 a1c6a512-1295-4272-9138-f99709370657
2010-09-22 20:58:54 +00:00
Thomas Martitz
55d70363bd Android port: Remove the "make zip" dependency of make apk again (see r28068).
It was reintroduced in r28138.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28141 a1c6a512-1295-4272-9138-f99709370657
2010-09-22 20:50:06 +00:00
Björn Stenberg
40e61a70e3 Polished the makefile a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28138 a1c6a512-1295-4272-9138-f99709370657
2010-09-21 09:22:52 +00:00
Björn Stenberg
1c80a1f2f0 Stricter subst to avoid erroneous substitution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28130 a1c6a512-1295-4272-9138-f99709370657
2010-09-20 22:04:32 +00:00
Thomas Martitz
aa0f895572 The zip target isn't a good prerequisite for another make target so remove it.
zip has no prerequisites, so it's always made, which leads to targets depending on zip to be also always made.
In the end that means that libmisc.so is always unzipped even if it didn't change.

OTOH it means that make zip is now needed explicitly; so it now goes like 'make && make zip && make apk

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28068 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 20:50:30 +00:00
Thomas Martitz
a994401294 Extend make clean for android zu also cleanup the compiled java classes and apks (and everything else generated during build process).
This also seems to fix a problem with make apk on some machines. Thanks to Dustin Skoracki for helping to investigate.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28062 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 16:35:02 +00:00
Thomas Martitz
994aba194b Android: Allow "out-of-tree" builds (outside of android/, e.g. build-android/).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27988 a1c6a512-1295-4272-9138-f99709370657
2010-09-02 14:58:36 +00:00
Thomas Martitz
4e982d30a1 Extend android.make so that it can generate a debug signed apk.
'make && make apk && adb install -r bin/Rockbox.apk' should work now.

You should now be able to develop without eclipse.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27980 a1c6a512-1295-4272-9138-f99709370657
2010-09-02 03:40:02 +00:00
Thomas Martitz
f8381d9c39 Android: don't compile stubs.c and kill off libuisimulator entirely.
Seperate make rules in a almost empty android.make.
Also add forgotten powermgmt-android.c

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27977 a1c6a512-1295-4272-9138-f99709370657
2010-09-02 00:24:40 +00:00