Files
jrshikoku/plugins/with-android-local-properties.js
harukin-expo-dev-env cf611c6c8d feat: 新アーキテクチャへの移行準備と依存関係の更新
- app.json: newArchEnabledをtrueに設定し、kotlinVersionを2.1.20に更新
- babel.config.js: lazyImportsを有効化し、react-native-reanimated/pluginを追加
- metro.config.js: experimentalImportSupportを有効化
- package.json: react-native-reanimated-carouselを4.0.3に更新
- 新しいプラグインwith-android-local-propertiesを追加
- 新しいドキュメントnew-architecture-migration-plan.mdを作成
- その他のファイルでの軽微な修正
2026-03-18 05:43:21 +00:00

37 lines
1.1 KiB
JavaScript

const { withDangerousMod } = require("@expo/config-plugins");
const fs = require("fs");
const path = require("path");
const os = require("os");
/**
* Generates android/local.properties with sdk.dir during prebuild.
* Tries ANDROID_HOME env var first, then common locations.
*/
const withAndroidLocalProperties = (config) => {
return withDangerousMod(config, [
"android",
async (config) => {
const androidDir = path.join(config.modRequest.projectRoot, "android");
const localPropertiesPath = path.join(androidDir, "local.properties");
const sdkDir =
process.env.ANDROID_HOME ||
process.env.ANDROID_SDK_ROOT ||
path.join(os.homedir(), "android-sdk");
if (fs.existsSync(sdkDir)) {
fs.writeFileSync(localPropertiesPath, `sdk.dir=${sdkDir}\n`);
console.log(`[withAndroidLocalProperties] sdk.dir=${sdkDir}`);
} else {
console.warn(
`[withAndroidLocalProperties] Android SDK not found at ${sdkDir}. Set ANDROID_HOME.`
);
}
return config;
},
]);
};
module.exports = withAndroidLocalProperties;