@@ -11,6 +11,7 @@ const {
1111} = require ( "./nsCliHelpers" ) ;
1212
1313const APP_DIR = "app" ;
14+ const ANDROID_PROJECT_PATH = "platforms/android" ;
1415
1516const isTypeScript = ( { projectDir, packageJson } = { } ) => {
1617 packageJson = packageJson || getPackageJson ( projectDir ) ;
@@ -54,6 +55,19 @@ const getAndroidRuntimeVersion = (projectDir) => {
5455 }
5556}
5657
58+ const getAndroidV8Version = ( projectDir ) => {
59+ try {
60+ const androidSettingsJSON = getAndroidSettingsJson ( projectDir ) ;
61+ if ( androidSettingsJSON != null ) {
62+ return androidSettingsJSON . v8Version ;
63+ } else {
64+ return null ;
65+ }
66+ } catch ( e ) {
67+ return null ;
68+ }
69+ }
70+
5771const getWebpackConfig = ( projectDir , env , configPath = "webpack.config.js" ) => {
5872 const configAbsolutePath = path . resolve ( projectDir , configPath ) ;
5973 let config ;
@@ -82,6 +96,15 @@ const getPackageJson = projectDir => {
8296 return JSON . parse ( fs . readFileSync ( packageJsonPath , "utf8" ) ) ;
8397} ;
8498
99+ const getAndroidSettingsJson = projectDir => {
100+ const androidSettingsJsonPath = path . resolve ( projectDir , ANDROID_PROJECT_PATH , "settings.json" ) ;
101+ if ( fs . existsSync ( androidSettingsJsonPath ) ) {
102+ return JSON . parse ( fs . readFileSync ( androidSettingsJsonPath , "utf8" ) ) ;
103+ } else {
104+ return null ;
105+ }
106+ } ;
107+
85108const writePackageJson = ( content , projectDir ) => {
86109 const packageJsonPath = getPackageJsonPath ( projectDir ) ;
87110 fs . writeFileSync ( packageJsonPath , JSON . stringify ( content , null , 2 ) )
@@ -92,14 +115,13 @@ const toReleaseVersion = version =>
92115 version . replace ( / - .* / , "" ) ;
93116
94117const getAndroidProjectPath = ( { androidPackageVersion, projectRoot} ) => {
95- const ANDROID_PROJECT_PATH = "platforms/android" ;
96118 if ( projectRoot ) {
97119 androidPackageVersion = getAndroidRuntimeVersion ( projectRoot ) ;
98120 }
99121
100122 return semver . lt ( androidPackageVersion , "3.4.0" ) ?
101123 ANDROID_PROJECT_PATH :
102- path . join ( ANDROID_PROJECT_PATH , "app" ) ;
124+ path . join ( ANDROID_PROJECT_PATH , APP_DIR ) ;
103125} ;
104126
105127
@@ -153,6 +175,7 @@ module.exports = {
153175 getAppResourcesPathFromProjectData,
154176 getAndroidProjectPath,
155177 getAndroidRuntimeVersion,
178+ getAndroidV8Version,
156179 getPackageJson,
157180 getProjectDir,
158181 getWebpackConfig,
0 commit comments