@@ -395,6 +395,9 @@ def make_package(args):
395395 if not args .activity_launch_mode :
396396 args .activity_launch_mode = ''
397397
398+ # if not args.service_class_name:
399+ # args.service_class_name = 'org.kivy.android.PythonService'
400+
398401 if args .extra_source_dirs :
399402 esd = []
400403 for spec in args .extra_source_dirs :
@@ -418,6 +421,7 @@ def make_package(args):
418421 service = True
419422
420423 service_names = []
424+ base_service_class = args .service_class_name .split ('.' )[- 1 ]
421425 for sid , spec in enumerate (args .services ):
422426 spec = spec .split (':' )
423427 name = spec [0 ]
@@ -442,6 +446,7 @@ def make_package(args):
442446 foreground = foreground ,
443447 sticky = sticky ,
444448 service_id = sid + 1 ,
449+ base_service_class = base_service_class ,
445450 )
446451
447452 # Find the SDK directory and target API
@@ -478,6 +483,7 @@ def make_package(args):
478483 args .backup_rules = split (args .backup_rules )[1 ][:- 4 ]
479484
480485 # Render out android manifest:
486+ print ("Rendering AndroidManifest.xml..." , args )
481487 manifest_path = "src/main/AndroidManifest.xml"
482488 render_args = {
483489 "args" : args ,
@@ -633,6 +639,10 @@ def parse_args_and_make_package(args=None):
633639 help = 'Custom key=value to add in application metadata' )
634640 ap .add_argument ('--uses-library' , dest = 'android_used_libs' , action = 'append' , default = [],
635641 help = 'Used shared libraries included using <uses-library> tag in AndroidManifest.xml' )
642+ ap .add_argument ('--network-security-config' , dest = 'network_security_config' ,
643+ help = 'Add a Network Security Configuration file path to AndroidManifest.xml' )
644+ ap .add_argument ('--uses-cleartext-traffic' , dest = 'uses_cleartext_traffic' ,
645+ help = 'Indicate that app intends to use cleartext network traffic in AndroidManifest.xml' )
636646 ap .add_argument ('--asset' , dest = 'assets' ,
637647 action = "append" , default = [],
638648 metavar = "/path/to/source:dest" ,
@@ -778,12 +788,22 @@ def parse_args_and_make_package(args=None):
778788 ap .add_argument ('--manifest-placeholders' , dest = 'manifest_placeholders' ,
779789 default = '[:]' , help = ('Inject build variables into the manifest '
780790 'via the manifestPlaceholders property' ))
791+ ap .add_argument ('--network-security-config' , dest = 'network_security_config' , default = '' ,
792+ help = 'Add a Network Security Configuration file path to AndroidManifest.xml' )
793+ ap .add_argument ('--uses-cleartext-traffic' , dest = 'uses_cleartext_traffic' , default = '' ,
794+ help = 'Indicate that app intends to use cleartext network traffic in AndroidManifest.xml' )
795+ ap .add_argument ('--service-class-name' , dest = 'service_class_name' , default = 'org.kivy.android.PythonService' ,
796+ help = 'Use that parameter if you need to implement your own PythonServive Java class' )
797+ ap .add_argument ('--activity-class-name' , dest = 'activity_class_name' , default = 'org.kivy.android.PythonActivity' ,
798+ help = 'The full java class name of the main activity' )
781799
782800 # Put together arguments, and add those from .p4a config file:
783801 if args is None :
784802 args = sys .argv [1 :]
803+ print ('args was empty, set from sys.argv' )
785804
786805 def _read_configuration ():
806+ print ("Looking for p4a configuration file in %r" % os .path .abspath ('.p4a' ))
787807 if not exists (".p4a" ):
788808 return
789809 print ("Reading .p4a configuration" )
@@ -793,10 +813,12 @@ def _read_configuration():
793813 for line in lines if not line .startswith ("#" )]
794814 for line in lines :
795815 for arg in line :
816+ print ('Added option: %r' % arg )
796817 args .append (arg )
797818 _read_configuration ()
798819
799820 args = ap .parse_args (args )
821+
800822 args .ignore_path = []
801823
802824 if args .name and args .name [0 ] == '"' and args .name [- 1 ] == '"' :
0 commit comments