Research and Development 1/2011-12/projecten/TeamRocket/make-android

Uit Werkplaats
< Research and Development 1‎ | 2011-12‎ | projecten‎ | TeamRocket
Versie door Charlie Gerhardus (overleg | bijdragen) op 5 mei 2012 om 03:25 (Cpp)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Ga naar: navigatie, zoeken

Wat is make-android?

Make-android is een combinatie van shell scripts en een makefile die een android applicatie kunnen bouwen. In tegenstelling tot de standaard android tools is er maar 1 file afhankelijk van het systeem. Hierdoor kunnen project instellingen gewoon via source control gedeeld worden. Achter de schermen worden de juiste android project bestanden gegenereerd en aangepast. De volgende features zijn ondersteunt:

  • Veranderd app titel in project naam, ipv activity naam.
  • Stelt doel sdk in, dit geeft in de android-x86 emulator een performance boost.
  • Bied de mogelijkheid zowel Java als C++ code in het project te gebruiken.
  • Compileerd C++ code voor alle door de NDK ondersteunde platformen.
  • Maakt zelf java directory structuur.
  • Met behulp van $(JAVA) -p word @PACKAGE in broncode vervangen door package naam.
  • Android SDK/NDK hoeft niet in PATH te staan.

make-android gebruiken

Instellen

leeg

Make targets

all 
Maak alle nodige mappen, bouwd C++ code, bouwd Java code en zet apk in elkaar.
cpp-bron 
Kopieert en bouwd de C++ broncode.
java-bron 
NIET ZELF AANROEPEN!
apk 
NIET ZELF AANROEPEN!
install 
Installeerd de apk naar de verbonden avd.
uninstall 
Verwijderd de apk van de verbonden avd.
reinstall 
Doet eerst uninstall, dan install.
tar 
leeg
doc 
leeg
adb ADB="parameters" 
roep adb aan, de variable ADB bevat de paramters.

Java

gebruik: $(JAVA) [-p] [bestand]

Als de -p parameter word gebruikt zullen de volgende woorden in de java broncode worden vervangen.

@ACTIVITY 
De naam van de activity klasse.
@MODULE 
De naam van de C++ module die gebouwd word (zonder lib en .so).
@PACKAGE 
De naam van de package.

Cpp

gebruik: $(CPP) [bestand] -I [mappen...]

Als de -I parameter word gegeven zullen verdere parameters als include directories worden beschouwd. Intern worden alle header files verzameld en op een punt verzameld. Dit brengt de volgende limitaties met zich mee.

  • Includes in subdirectories zijn ongeldig bv: #include "test.h" mag, #include "map/test.h" mag niet
  • Alle include files die door het hele project gebruikt worden hebben een unieke naam nodig, ook al bevinden ze zich in andere mappen.
  • Alleen de .h extensie is ondersteund.

Het eerste geval is makkelijk om heen te werken door het pad naar 'test.h' na -I in te voegen en de desbetreffende include aan te passen. Dit geld natuurlijk niet voor system includes (#include <>).

De files

configure 
leeg
configure.opties 
leeg
makefile 
leeg
cpp 
leeg
java 
leeg
java-pp 
leeg

Downloaden

leeg