[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(""),
|
"DESCRIPTION" : set(""),
|
||||||
"VERSION" : set("0.0.0"),
|
"VERSION" : set("0.0.0"),
|
||||||
"NAME" : set("no-name"), # name of the application
|
"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" : []
|
"RIGHT" : []
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -611,11 +614,20 @@ class module:
|
|||||||
self.packageProp[variable] = value
|
self.packageProp[variable] = value
|
||||||
elif "NAME" == variable:
|
elif "NAME" == variable:
|
||||||
self.packageProp[variable] = value
|
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:
|
else:
|
||||||
debug.error("not know pak element : '" + variable + "'")
|
debug.error("not know pak element : '" + variable + "'")
|
||||||
|
|
||||||
def pkgAddRight(self, value):
|
def pkgAdd(self, variable, value):
|
||||||
self.packageProp["RIGHT"].append(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)
|
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")
|
debug.printElement("pkg", "AndroidManifest.xml", "<==", "package configurations")
|
||||||
tmpFile = open(self.GetStagingFolder(pkgName) + "/AndroidManifest.xml", 'w')
|
tmpFile = open(self.GetStagingFolder(pkgName) + "/AndroidManifest.xml", 'w')
|
||||||
tmpFile.write( "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
tmpFile.write( "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
||||||
@ -192,6 +197,14 @@ class Target(lutinTarget.Target):
|
|||||||
tmpFile.write( "</manifest>\n\n")
|
tmpFile.write( "</manifest>\n\n")
|
||||||
tmpFile.flush()
|
tmpFile.flush()
|
||||||
tmpFile.close()
|
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 :
|
# 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/
|
# 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")
|
debug.printElement("pkg", "*.class", "<==", "*.java")
|
||||||
# more information with : -Xlint
|
# more information with : -Xlint
|
||||||
# + self.file_finalAbstraction + " "\ # this generate ex: out/Android/debug/staging/tethys/src/com/edouarddupin/tethys/edn.java
|
# + 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 " \
|
cmdLine = "javac " \
|
||||||
+ "-d " + self.GetStagingFolder(pkgName) + "/build/classes " \
|
+ "-d " + self.GetStagingFolder(pkgName) + "/build/classes " \
|
||||||
+ "-classpath " + self.folder_sdk + "/platforms/android-" + str(self.boardId) + "/android.jar " \
|
+ "-classpath " + self.folder_sdk + "/platforms/android-" + str(self.boardId) + "/android.jar " \
|
||||||
+ self.folder_ewol + "/sources/android/src/org/ewol/EwolAudioTask.java " \
|
+ filesString \
|
||||||
+ 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 " \
|
|
||||||
+ self.file_finalAbstraction + " " \
|
+ self.file_finalAbstraction + " " \
|
||||||
+ self.GetStagingFolder(pkgName) + "/src/R.java "
|
+ self.GetStagingFolder(pkgName) + "/src/R.java "
|
||||||
lutinMultiprocess.RunCommand(cmdLine)
|
lutinMultiprocess.RunCommand(cmdLine)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user