diff --git a/src/cordova/android/README.md b/src/cordova/android/README.md index d63dcf096b..7773a5cb02 100644 --- a/src/cordova/android/README.md +++ b/src/cordova/android/README.md @@ -11,8 +11,10 @@ The main entrypoint to Android's Java code is `cordova-plugin-outline/android/ja Additional requirements for Android: - [Java Development Kit (JDK) 11](https://jdk.java.net/archive/) + - Set `JAVA_HOME` environment variable if you are building on Windows - Latest [Android Sdk Commandline Tools](https://developer.android.com/studio/command-line) ([download](https://developer.android.com/studio#command-line-tools-only)) - Place it at `$HOME/Android/sdk/cmdline-tools/latest` + - Set `ANDROID_HOME` environment variable - Android SDK 32 (with build-tools) via commandline `$HOME/Android/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-32" "build-tools;32.0.0"` - [Gradle 7.3+](https://gradle.org/install/) diff --git a/src/cordova/plugin/android/scripts/copy_third_party.js b/src/cordova/plugin/android/scripts/copy_third_party.js index 596d262be6..b56e487314 100644 --- a/src/cordova/plugin/android/scripts/copy_third_party.js +++ b/src/cordova/plugin/android/scripts/copy_third_party.js @@ -14,15 +14,20 @@ // See the License for the specific language governing permissions and // limitations under the License. -const child_process = require('child_process'); +const fs = require('fs/promises'); +const path = require('node:path'); -module.exports = function(context) { +const ANDROID_LIBS_FOLDER_PATH = path.join('plugins', 'cordova-plugin-outline', 'android', 'libs'); +const TUN2SOCKS_ANDROID_FOLDER_PATH = path.join('third_party', 'outline-go-tun2socks', 'android'); + +module.exports = async function(context) { console.log('Copying Android third party libraries...'); - child_process.execSync('mkdir -p plugins/cordova-plugin-outline/android/libs'); - child_process.execSync( - `cp third_party/outline-go-tun2socks/android/tun2socks.aar plugins/cordova-plugin-outline/android/libs/` - ); - child_process.execSync( - `cp -R third_party/outline-go-tun2socks/android/jni plugins/cordova-plugin-outline/android/libs/obj` + await fs.mkdir(ANDROID_LIBS_FOLDER_PATH, {recursive: true}); + await fs.copyFile( + path.join(TUN2SOCKS_ANDROID_FOLDER_PATH, 'tun2socks.aar'), + path.join(ANDROID_LIBS_FOLDER_PATH, 'tun2socks.aar') ); + await fs.cp(path.join(TUN2SOCKS_ANDROID_FOLDER_PATH, 'jni'), path.join(ANDROID_LIBS_FOLDER_PATH, 'obj'), { + recursive: true, + }); };