Skip to content

Commit e3039fb

Browse files
committed
update dependencies and ndk
1 parent 5f3bf62 commit e3039fb

File tree

4 files changed

+112
-32
lines changed

4 files changed

+112
-32
lines changed

.cargo/config.toml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
# works with NDK 21 or lower
1+
# works with NDK 28.0.13004108
22
[target.aarch64-linux-android]
3-
ar = "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar"
4-
linker = "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android30-clang"
5-
rustflags = ["-L", "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/aarch64-linux-android/4.9.x"]
3+
ar = "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ar"
4+
linker = "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android35-clang"
65

76
[target.armv7-linux-androideabi]
8-
ar = "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar"
9-
linker = "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi30-clang"
10-
rustflags = ["-L", "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x"]
7+
ar = "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar"
8+
linker = "/Users/neevek/Library/Android/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi35-clang"

Cargo.lock

Lines changed: 85 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ base64 = "0.22"
3838
dashmap = "6"
3939

4040
[dev-dependencies]
41-
jni = "0.19"
41+
jni = "0.21"
4242
android_logger = "0.13"
4343

4444
[target.aarch64-linux-android.dependencies]
45-
jni = "0.19"
45+
jni = "0.21"
4646
android_logger = "0.13"
4747

4848
[target.armv7-linux-androideabi.dependencies]
49-
jni = "0.19"
49+
jni = "0.21"
5050
android_logger = "0.13"
5151

5252
[build-dependencies]

src/lib.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -567,11 +567,11 @@ pub mod android {
567567

568568
#[no_mangle]
569569
pub unsafe extern "C" fn Java_net_neevek_omnip_Omnip_nativeInitLogger(
570-
env: JNIEnv,
570+
mut env: JNIEnv,
571571
_: JClass,
572572
jlogLevel: JString,
573573
) -> jboolean {
574-
let log_level = match get_string(&env, &jlogLevel).as_str() {
574+
let log_level = match get_string(&mut env, &jlogLevel).as_str() {
575575
"T" => "trace",
576576
"D" => "debug",
577577
"I" => "info",
@@ -589,7 +589,7 @@ pub mod android {
589589

590590
#[no_mangle]
591591
pub unsafe extern "C" fn Java_net_neevek_omnip_Omnip_nativeCreate(
592-
env: JNIEnv,
592+
mut env: JNIEnv,
593593
_: JClass,
594594
jaddr: JString,
595595
jupstream: JString,
@@ -611,15 +611,15 @@ pub mod android {
611611
return 0;
612612
}
613613

614-
let addr = get_string(&env, &jaddr);
615-
let upstream = get_string(&env, &jupstream);
616-
let dot_server = get_string(&env, &jdotServer);
617-
let name_servers = get_string(&env, &jnameServers);
618-
let proxy_rules_file = get_string(&env, &jproxyRulesFile);
619-
let cert = get_string(&env, &jcert);
620-
let key = get_string(&env, &jkey);
621-
let cipher = get_string(&env, &jcipher);
622-
let password = get_string(&env, &jpassword);
614+
let addr = get_string(&mut env, &jaddr);
615+
let upstream = get_string(&mut env, &jupstream);
616+
let dot_server = get_string(&mut env, &jdotServer);
617+
let name_servers = get_string(&mut env, &jnameServers);
618+
let proxy_rules_file = get_string(&mut env, &jproxyRulesFile);
619+
let cert = get_string(&mut env, &jcert);
620+
let key = get_string(&mut env, &jkey);
621+
let cipher = get_string(&mut env, &jcipher);
622+
let password = get_string(&mut env, &jpassword);
623623

624624
let config = match create_config(
625625
addr,
@@ -684,13 +684,13 @@ pub mod android {
684684
server_ptr: jlong,
685685
) -> jstring {
686686
if server_ptr == 0 {
687-
return env.new_string("").unwrap().into_inner();
687+
return env.new_string("").unwrap().into_raw();
688688
}
689689

690690
let server = &mut *(server_ptr as *mut Arc<Server>);
691691
env.new_string(server.get_state().to_string())
692692
.unwrap()
693-
.into_inner()
693+
.into_raw()
694694
}
695695

696696
#[no_mangle]
@@ -721,13 +721,13 @@ pub mod android {
721721
let jvm = env.get_java_vm().unwrap();
722722
let jobj_global_ref = env.new_global_ref(jobj).unwrap();
723723
server.set_on_info_listener(move |data: &str| {
724-
let env = jvm.attach_current_thread().unwrap();
724+
let mut env = jvm.attach_current_thread().unwrap();
725725
if let Ok(s) = env.new_string(data) {
726726
env.call_method(
727727
&jobj_global_ref,
728728
"onInfo",
729729
"(Ljava/lang/String;)V",
730-
&[s.into()],
730+
&[(&s).into()],
731731
)
732732
.unwrap();
733733
}
@@ -737,9 +737,9 @@ pub mod android {
737737
server.set_enable_on_info_report(bool_enable);
738738
}
739739

740-
fn get_string(env: &JNIEnv, jstring: &JString) -> String {
741-
if !jstring.is_null() {
742-
env.get_string(*jstring).unwrap().into()
740+
fn get_string(env: &mut JNIEnv, jstr: &JString) -> String {
741+
if !jstr.is_null() {
742+
env.get_string(&jstr).unwrap().to_string_lossy().to_string()
743743
} else {
744744
String::from("")
745745
}

0 commit comments

Comments
 (0)