basic generation of the Manifest for Android

This commit is contained in:
Edouard Dupin 2012-09-11 18:14:50 +02:00
parent b41ea306c2
commit 9599512395
2 changed files with 95 additions and 10 deletions

View File

@ -14,21 +14,106 @@ TARGET_GLOBAL_LDLIBS_SHARED = --sysroot=$(PROJECT_NDK)/platforms/android-$(ANDRO
include $(EWOL_FOLDER)/Build/core/main.mk
FINAL_FOLDER_JAVA=$(TARGET_OUT_FINAL)
FINAL_FOLDER_JAVA_PROJECT=$(FINAL_FOLDER_JAVA)/src/com/$(PROJECT_VENDOR)/$(PROJECT_NAME)
FINAL_FOLDER_JAVA_PROJECT=$(FINAL_FOLDER_JAVA)/src/$(CONFIG___EWOL_APPL_ORGANISATION_TYPE__)/$(PROJECT_VENDOR)/$(PROJECT_NAME)
FINAL_FILE_ABSTRACTION = $(FINAL_FOLDER_JAVA_PROJECT)/$(PROJECT_NAME).java
final :
javaclean:
@rm -rf $(FINAL_FOLDER_JAVA)/
@mkdir -p $(FINAL_FOLDER_JAVA_PROJECT)/
$(FINAL_FILE_ABSTRACTION) : $(EWOL_FOLDER)/Java/PROJECT_NAME.java $(CONFIG_GLOBAL_FILE)
@mkdir -p $(dir $@)
@cp $(EWOL_FOLDER)/Java/PROJECT_NAME.java $@
@sed -i "s|__PROJECT_ORG_TYPE__|$(CONFIG___EWOL_APPL_ORGANISATION_TYPE__)|" $@
@sed -i "s|__PROJECT_VENDOR__|$(PROJECT_VENDOR)|" $@
@sed -i "s|__PROJECT_NAME__|$(PROJECT_NAME)|" $@
@sed -i "s|__PROJECT_PACKAGE__|$(PROJECT_PACKAGE)|" $@
#ifeq ("$(CONFIG___VIDEO__OPENGL_ES_2)","y")
@sed -i "s|__CONF_OGL_ES_V__|2|" $@
#else
#@sed -i "s|__CONF_OGL_ES_V__|1|" $@
#endif
@cp $(EWOL_FOLDER)/Java/PROJECT_NAME.java $(FINAL_FILE_ABSTRACTION)
@sed -i "s|__PROJECT_VENDOR__|$(PROJECT_VENDOR)|" $(FINAL_FILE_ABSTRACTION)
@sed -i "s|__PROJECT_NAME__|$(PROJECT_NAME)|" $(FINAL_FILE_ABSTRACTION)
@sed -i "s|__PROJECT_PACKAGE__|$(PROJECT_PACKAGE)|" $(FINAL_FILE_ABSTRACTION)
$(FINAL_FOLDER_JAVA)/AndroidManifest.xml : $(CONFIG_GLOBAL_FILE)
@echo "AndroidManifest.xml <== configFile"
@echo "<?xml version=\"1.0\" encoding=\"utf-8\"?> " > $@
@echo "<!-- Manifest is autoGenerated with Ewol ... do not patch it-->" >> $@
@echo "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\" " >> $@
# TODO ...
@echo " package=\"$(CONFIG___EWOL_APPL_ORGANISATION_TYPE__).$(PROJECT_VENDOR).$(PROJECT_NAME)\" " >> $@
# TODO ...
@echo " android:versionCode=\"1\" " >> $@
# TODO ...
@echo " android:versionName=\"1.0\"> " >> $@
ifeq ("$(CONFIG___VIDEO__OPENGL_ES_2)","y")
@echo " <!-- Use openGl ES 2 --> " >> $@
@echo " <uses-feature android:glEsVersion=\"0x00020000\" android:required=\"true\" ></uses-feature> " >> $@
endif
@echo " <!-- This is the platform API where NativeActivity was introduced. --> " >> $@
@echo " <uses-sdk android:minSdkVersion=\"$(CONFIG___EWOL_ANDROID_MINIMUM_SDK_VERSION__)\" /> " >> $@
@echo " " >> $@
# TODO ...
@echo " <application android:label=\"$(CONFIG___EWOL_APPL_NAME__)\" " >> $@
@echo " android:icon=\"@$(CONFIG___EWOL_ANDROID_ICON__)\"> " >> $@
# TODO ...
@echo " <activity android:name=\".$(PROJECT_NAME)\" " >> $@
# TODO ...
@echo " android:label=\"$(CONFIG___EWOL_APPL_BASIC_TITLE__)\" " >> $@
@echo " android:icon=\"@$(CONFIG___EWOL_ANDROID_ICON__)\" " >> $@
@echo " android:configChanges=\"orientation\"> " >> $@
@echo " <intent-filter> " >> $@
@echo " <action android:name=\"android.intent.action.MAIN\" /> " >> $@
@echo " <category android:name=\"android.intent.category.LAUNCHER\" /> " >> $@
@echo " </intent-filter> " >> $@
@echo " </activity> " >> $@
@echo " </application> " >> $@
ifeq ("$(CONFIG___ANDROID_PERMISSION__WRITE_EXTERNAL_STORAGE__)","y")
@echo " <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__CAMERA__)","y")
@echo " <uses-permission android:name=\"android.permission.CAMERA\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__INTERNET__)","y")
@echo " <uses-permission android:name=\"android.permission.INTERNET\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__MODIFY_AUDIO_SETTINGS__)","y")
@echo " <uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__READ_CALENDAR__)","y")
@echo " <uses-permission android:name=\"android.permission.READ_CALENDAR\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__READ_CONTACTS__)","y")
@echo " <uses-permission android:name=\"android.permission.READ_CONTACTS\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__READ_FRAME_BUFFER__)","y")
@echo " <uses-permission android:name=\"android.permission.READ_FRAME_BUFFER\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__READ_PROFILE__)","y")
@echo " <uses-permission android:name=\"android.permission.READ_PROFILE\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__RECORD_AUDIO__)","y")
@echo " <uses-permission android:name=\"android.permission.RECORD_AUDIO\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__SET_ORIENTATION__)","y")
@echo " <uses-permission android:name=\"android.permission.SET_ORIENTATION\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__VIBRATE__)","y")
@echo " <uses-permission android:name=\"android.permission.VIBRATE\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__ACCESS_COARSE_LOCATION__)","y")
@echo " <uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" /> " >> $@
endif
ifeq ("$(CONFIG___ANDROID_PERMISSION__ACCESS_FINE_LOCATION__)","y")
@echo " <uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" /> " >> $@
endif
@echo "</manifest> " >> $@
final : javaclean $(FINAL_FILE_ABSTRACTION) $(FINAL_FOLDER_JAVA)/AndroidManifest.xml
@echo "AndroidManifest.xml <== os-Android/AndroidManifest.xml"
@cp os-Android/AndroidManifest.xml $(FINAL_FOLDER_JAVA)/
@#echo "AndroidManifest.xml <== os-Android/AndroidManifest.xml"
@#cp os-Android/AndroidManifest.xml $(FINAL_FOLDER_JAVA)/
@cp -r os-Android/res $(FINAL_FOLDER_JAVA)/res
@echo ".apk/assets/ <== assets"
@ -173,7 +258,7 @@ install:
@echo ------------------------------------------------------------------------
@# $(PROJECT_SDK)/platform-tools/adb kill-server
@# install application
sudo $(PROJECT_SDK)/platform-tools/adb install -r $(FINAL_FOLDER_JAVA)/$(PROJECT_PACKAGE)-$(BUILD_DIRECTORY_MODE).apk
sudo $(PROJECT_SDK)/platform-tools/adb install -r $(FINAL_FOLDER_JAVA)/$(PROJECT_PACKAGE).apk
uninstall:
@echo ------------------------------------------------------------------------

View File

@ -185,7 +185,7 @@ endef
###############################################################################
# File where global configuration is stored
CONFIG_GLOBAL_FOLDER := $(shell pwd)/config
CONFIG_GLOBAL_FILE := $(CONFIG_GLOBAL_FOLDER)/$(TARGET_OS)_$(BUILD_DIRECTORY_MODE).config
CONFIG_GLOBAL_FILE := $(CONFIG_GLOBAL_FOLDER)/$(TARGET_OS).config
# Display the global configuration
.PHONY: config