Skip to content

Commit 6f1d5b2

Browse files
authored
build: updated Android NDK from r21 to r25b (#324)
1 parent 9ad93a8 commit 6f1d5b2

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

aw-server/src/android/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ pub mod android {
7474
.new_string(world_ptr.to_str().unwrap())
7575
.expect("Couldn't create java string!");
7676

77-
output.into_inner()
77+
output.into_raw()
7878
}
7979

8080
unsafe fn jstring_to_string(env: &JNIEnv, string: JString) -> String {
@@ -85,7 +85,7 @@ pub mod android {
8585
unsafe fn string_to_jstring(env: &JNIEnv, string: String) -> jstring {
8686
env.new_string(string)
8787
.expect("Couldn't create java string")
88-
.into_inner()
88+
.into_raw()
8989
}
9090

9191
unsafe fn create_error_object(env: &JNIEnv, msg: String) -> jstring {

compile-android.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,16 @@ for archtargetstr in \
3030
; do
3131
arch=$(echo $archtargetstr | cut -d " " -f 1)
3232
target=$(echo $archtargetstr | cut -d " " -f 2)
33+
target_underscore=$(echo $target | sed 's/-/_/g')
34+
3335
NDK_ARCH_DIR="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin"
3436
echo "Building for $arch..."
3537

3638
if [ -d "$NDK_ARCH_DIR" ]; then
3739
export PATH="$NDK_ARCH_DIR:$ORIG_PATH"
40+
# Need to set AR for target since NDK 21+:
41+
# https://github.com/rust-lang/cc-rs/issues/636#issuecomment-1075352495
42+
declare -x "AR_${target_underscore}"="$NDK_ARCH_DIR/llvm-ar"
3843
cargo build -p aw-server --target $target --lib $($RELEASE && echo '--release')
3944
else
4045
echo "Couldn't find directory $NDK_ARCH_DIR"

install-ndk.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ if [ -z "$ANDROID_NDK_HOME" ]; then
1212
echo "Found NDK folder in root, using."
1313
else
1414
echo 'ANDROID_NDK_HOME not set, downloading NDK...';
15-
wget --no-verbose -O android-ndk.zip https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip;
15+
wget --no-verbose -O android-ndk.zip https://dl.google.com/android/repository/android-ndk-r25b-linux.zip;
1616
unzip -q -d NDK android-ndk.zip;
1717
ls NDK;
1818
mv NDK/*/* NDK/;
@@ -44,18 +44,18 @@ echo "Creating cargo config..."
4444
mkdir -p $project_path/.cargo
4545
echo "
4646
[target.aarch64-linux-android]
47-
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar'
47+
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar'
4848
linker = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android26-clang'
4949
5050
[target.armv7-linux-androideabi]
51-
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi-ar'
51+
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar'
5252
linker = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi-clang'
5353
5454
[target.i686-linux-android]
55-
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android-ar'
55+
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar'
5656
linker = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android26-clang'
5757
5858
[target.x86_64-linux-android]
59-
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android-ar'
59+
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar'
6060
linker = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android26-clang'
6161
" > $project_path/.cargo/config

0 commit comments

Comments
 (0)