MCPcopy
hub / github.com/ionic-team/capacitor / loadAndroidConfig

Function loadAndroidConfig

cli/src/config.ts:205–263  ·  view source on GitHub ↗
(
  rootDir: string,
  extConfig: ExternalConfig,
  cliConfig: CLIConfig,
)

Source from the content-addressed store, hash-verified

203}
204
205async function loadAndroidConfig(
206 rootDir: string,
207 extConfig: ExternalConfig,
208 cliConfig: CLIConfig,
209): Promise<AndroidConfig> {
210 const name = 'android';
211 const platformDir = extConfig.android?.path ?? 'android';
212 const platformDirAbs = resolve(rootDir, platformDir);
213 const appDir = 'app';
214 const srcDir = `${appDir}/src`;
215 const srcMainDir = `${srcDir}/main`;
216 const assetsDir = `${srcMainDir}/assets`;
217 const webDir = `${assetsDir}/public`;
218 const resDir = `${srcMainDir}/res`;
219 let apkPath = `${appDir}/build/outputs/apk/`;
220 const flavor = extConfig.android?.flavor || '';
221 if (extConfig.android?.flavor) {
222 apkPath = `${apkPath}/${extConfig.android?.flavor}`;
223 }
224 const apkName = parseApkNameFromFlavor(flavor);
225 const buildOutputDir = `${apkPath}/debug`;
226 const cordovaPluginsDir = 'capacitor-cordova-android-plugins';
227 const studioPath = lazy(() => determineAndroidStudioPath(cliConfig.os));
228 const buildOptions = {
229 keystorePath: extConfig.android?.buildOptions?.keystorePath,
230 keystorePassword: extConfig.android?.buildOptions?.keystorePassword,
231 keystoreAlias: extConfig.android?.buildOptions?.keystoreAlias,
232 keystoreAliasPassword: extConfig.android?.buildOptions?.keystoreAliasPassword,
233 signingType: extConfig.android?.buildOptions?.signingType,
234 releaseType: extConfig.android?.buildOptions?.releaseType,
235 };
236
237 return {
238 name,
239 minVersion: '24',
240 studioPath,
241 platformDir,
242 platformDirAbs,
243 cordovaPluginsDir,
244 cordovaPluginsDirAbs: resolve(platformDirAbs, cordovaPluginsDir),
245 appDir,
246 appDirAbs: resolve(platformDirAbs, appDir),
247 srcDir,
248 srcDirAbs: resolve(platformDirAbs, srcDir),
249 srcMainDir,
250 srcMainDirAbs: resolve(platformDirAbs, srcMainDir),
251 assetsDir,
252 assetsDirAbs: resolve(platformDirAbs, assetsDir),
253 webDir,
254 webDirAbs: resolve(platformDirAbs, webDir),
255 resDir,
256 resDirAbs: resolve(platformDirAbs, resDir),
257 apkName,
258 buildOutputDir,
259 buildOutputDirAbs: resolve(platformDirAbs, buildOutputDir),
260 flavor,
261 buildOptions,
262 };

Callers 1

loadConfigFunction · 0.85

Calls 3

parseApkNameFromFlavorFunction · 0.90
lazyFunction · 0.90

Tested by

no test coverage detected