[DEV] try to take android soft cration more flexible
This commit is contained in:
parent
6465630a70
commit
d1fe3fe6c3
@ -81,6 +81,9 @@ class module:
|
||||
"DESCRIPTION" : set(""),
|
||||
"VERSION" : set("0.0.0"),
|
||||
"NAME" : set("no-name"), # name of the application
|
||||
"ANDROID_MANIFEST" : set(""), # By default generate the manifest
|
||||
"ANDROID_JAVA_FILES" : ["DEFAULT"], # when user want to create his own services and activities
|
||||
"ANDROID_RESOURCES" : [],
|
||||
"RIGHT" : []
|
||||
}
|
||||
|
||||
@ -611,11 +614,20 @@ class module:
|
||||
self.packageProp[variable] = value
|
||||
elif "NAME" == variable:
|
||||
self.packageProp[variable] = value
|
||||
elif "ANDROID_MANIFEST" == variable:
|
||||
self.packageProp[variable] = value
|
||||
elif "ANDROID_JAVA_FILES" == variable:
|
||||
self.packageProp[variable] = value
|
||||
elif "RIGHT" == variable:
|
||||
self.packageProp[variable] = value
|
||||
elif "ANDROID_RESOURCES" == variable:
|
||||
self.packageProp[variable] = value
|
||||
else:
|
||||
debug.error("not know pak element : '" + variable + "'")
|
||||
|
||||
def pkgAddRight(self, value):
|
||||
self.packageProp["RIGHT"].append(value)
|
||||
def pkgAdd(self, variable, value):
|
||||
# TODO : Check values...
|
||||
self.packageProp[variable].append(value)
|
||||
|
||||
|
||||
|
||||
|
@ -125,6 +125,11 @@ class Target(lutinTarget.Target):
|
||||
|
||||
lutinTools.CopyFile(pkgProperties["ICON"], self.GetStagingFolder(pkgName) + "/res/drawable/icon.png", True)
|
||||
|
||||
|
||||
if (pkgProperties["ANDROID_MANIFEST"]!=""):
|
||||
debug.printElement("pkg", "AndroidManifest.xml", "<==", pkgProperties["ANDROID_MANIFEST"])
|
||||
lutinTools.CopyFile(pkgProperties["ANDROID_MANIFEST"], self.GetStagingFolder(pkgName) + "/AndroidManifest.xml", True)
|
||||
else:
|
||||
debug.printElement("pkg", "AndroidManifest.xml", "<==", "package configurations")
|
||||
tmpFile = open(self.GetStagingFolder(pkgName) + "/AndroidManifest.xml", 'w')
|
||||
tmpFile.write( "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
||||
@ -192,6 +197,14 @@ class Target(lutinTarget.Target):
|
||||
tmpFile.write( "</manifest>\n\n")
|
||||
tmpFile.flush()
|
||||
tmpFile.close()
|
||||
# end generating android manifest
|
||||
|
||||
#copy needed resources :
|
||||
for res_source, res_dest in pkgProperties["ANDROID_RESOURCES"]:
|
||||
if res_source == "":
|
||||
continue
|
||||
lutinTools.CopyFile(res_source , self.GetStagingFolder(pkgName) + "/res/" + res_dest + "/" + os.path.basename(res_source), True)
|
||||
|
||||
|
||||
# Doc :
|
||||
# http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-cruisecontrol/
|
||||
@ -211,16 +224,26 @@ class Target(lutinTarget.Target):
|
||||
debug.printElement("pkg", "*.class", "<==", "*.java")
|
||||
# more information with : -Xlint
|
||||
# + self.file_finalAbstraction + " "\ # this generate ex: out/Android/debug/staging/tethys/src/com/edouarddupin/tethys/edn.java
|
||||
|
||||
#generate android java files:
|
||||
filesString=""
|
||||
for element in pkgProperties["ANDROID_JAVA_FILES"]:
|
||||
if element=="DEFAULT":
|
||||
filesString += self.folder_ewol + "/sources/android/src/org/ewol/EwolAudioTask.java "
|
||||
filesString += self.folder_ewol + "/sources/android/src/org/ewol/EwolCallback.java "
|
||||
filesString += self.folder_ewol + "/sources/android/src/org/ewol/EwolConstants.java "
|
||||
filesString += self.folder_ewol + "/sources/android/src/org/ewol/Ewol.java "
|
||||
filesString += self.folder_ewol + "/sources/android/src/org/ewol/EwolRendererGL.java "
|
||||
filesString += self.folder_ewol + "/sources/android/src/org/ewol/EwolSurfaceViewGL.java "
|
||||
filesString += self.folder_ewol + "/sources/android/src/org/ewol/EwolActivity.java "
|
||||
else:
|
||||
filesString += element + " "
|
||||
|
||||
|
||||
cmdLine = "javac " \
|
||||
+ "-d " + self.GetStagingFolder(pkgName) + "/build/classes " \
|
||||
+ "-classpath " + self.folder_sdk + "/platforms/android-" + str(self.boardId) + "/android.jar " \
|
||||
+ self.folder_ewol + "/sources/android/src/org/ewol/EwolAudioTask.java " \
|
||||
+ self.folder_ewol + "/sources/android/src/org/ewol/EwolCallback.java " \
|
||||
+ self.folder_ewol + "/sources/android/src/org/ewol/EwolConstants.java " \
|
||||
+ self.folder_ewol + "/sources/android/src/org/ewol/Ewol.java " \
|
||||
+ self.folder_ewol + "/sources/android/src/org/ewol/EwolRendererGL.java " \
|
||||
+ self.folder_ewol + "/sources/android/src/org/ewol/EwolSurfaceViewGL.java " \
|
||||
+ self.folder_ewol + "/sources/android/src/org/ewol/EwolActivity.java " \
|
||||
+ filesString \
|
||||
+ self.file_finalAbstraction + " " \
|
||||
+ self.GetStagingFolder(pkgName) + "/src/R.java "
|
||||
lutinMultiprocess.RunCommand(cmdLine)
|
||||
|
Loading…
x
Reference in New Issue
Block a user