@@ -121,12 +121,24 @@ class AndroidProjectService implements IPlatformProjectService {
121121 } ) . future < string > ( ) ( ) ;
122122 }
123123
124+ private updateMetadata ( projectRoot : string ) : void {
125+ var projMetadataDir = path . join ( projectRoot , "assets" , "metadata" ) ;
126+ var libsmetadataDir = path . join ( projectRoot , "../../lib" , this . platformData . normalizedPlatformName , "__metadata" ) ;
127+ shell . cp ( "-f" , path . join ( libsmetadataDir , "*.dat" ) , projMetadataDir ) ;
128+ }
129+
124130 private generateMetadata ( projectRoot : string ) : void {
125131 var metadataGeneratorPath = path . join ( __dirname , "../../resources/tools/metadata-generator.jar" ) ;
126- var currPlatformDir = path . join ( projectRoot , "../../lib" , this . platformData . normalizedPlatformName ) ;
127- var inputDir = path . join ( currPlatformDir , "__jars" ) ;
128- var outDir = path . join ( currPlatformDir , "__metadata" ) ;
132+ var libsFolder = path . join ( projectRoot , "../../lib" , this . platformData . normalizedPlatformName ) ;
133+ var metadataDirName = "__metadata" ;
134+ var inputDir = libsFolder ;
135+ var outDir = path . join ( libsFolder , metadataDirName ) ;
129136 this . $fs . ensureDirectoryExists ( outDir ) . wait ( ) ;
137+
138+ shell . cp ( "-f" , path . join ( __dirname , "../../resources/tools/android-17.jar" ) , inputDir ) ;
139+ shell . cp ( "-f" , path . join ( __dirname , "../../resources/tools/support-v4-r13.jar" ) , inputDir ) ;
140+ shell . cp ( "-f" , path . join ( projectRoot , "libs/*.jar" ) , inputDir ) ;
141+
130142 this . spawn ( 'java' , [ '-jar' , metadataGeneratorPath , inputDir , outDir ] ) . wait ( ) ;
131143 }
132144
@@ -137,6 +149,7 @@ class AndroidProjectService implements IPlatformProjectService {
137149 var args2 = this . getAntArgs ( buildConfiguration , projectRoot ) ;
138150 this . spawn ( 'ant' , args ) . wait ( ) ;
139151 this . generateMetadata ( projectRoot ) ;
152+ this . updateMetadata ( projectRoot ) ;
140153 // build the project again in order to include the newly generated metadata
141154 this . spawn ( 'ant' , args2 ) . wait ( ) ;
142155 } ) . future < void > ( ) ( ) ;
@@ -166,7 +179,7 @@ class AndroidProjectService implements IPlatformProjectService {
166179 lines . forEach ( ( elem , idx , arr ) => {
167180 var match = elem . match ( / a n d r o i d \. l i b r a r y \. r e f e r e n c e \. ( \d + ) = ( .* ) / ) ;
168181 if ( match ) {
169- var libRef : ILibRef = { idx : parseInt ( match [ 1 ] ) , path : match [ 2 ] } ;
182+ var libRef : ILibRef = { idx : parseInt ( match [ 1 ] ) , path : match [ 2 ] . trim ( ) } ;
170183 libRef . adjustedPath = thiz . $fs . isRelativePath ( libRef . path ) ? path . join ( projDir , libRef . path ) : libRef . path ;
171184 thiz . parseProjectProrperies ( libRef . adjustedPath , destDir ) ;
172185 }
0 commit comments