From 21c41beb69618c3f95899c50d31e3bf46a313aa1 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Fri, 11 Oct 2024 07:17:17 -0300 Subject: [PATCH] fix(android): use unescaped Android package id for the proguard rules ref https://github.com/tauri-apps/tauri/pull/11314 --- .changes/proguard-unescapted-package.md | 5 +++++ build.rs | 1 + src/android/kotlin/proguard-wry.pro | 12 ++++++------ 3 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 .changes/proguard-unescapted-package.md diff --git a/.changes/proguard-unescapted-package.md b/.changes/proguard-unescapted-package.md new file mode 100644 index 000000000..d231633b6 --- /dev/null +++ b/.changes/proguard-unescapted-package.md @@ -0,0 +1,5 @@ +--- +"wry": patch +--- + +Use unescaped Android package identifier for the proguard rules. diff --git a/build.rs b/build.rs index c62938c53..13ff4cff4 100644 --- a/build.rs +++ b/build.rs @@ -64,6 +64,7 @@ fn main() { let content = fs::read_to_string(file.path()) .expect("failed to read kotlin file as string") .replace("{{package}}", &package) + .replace("{{package-unescaped}}", &package.replace('`', "")) .replace("{{library}}", &library) .replace( "{{class-extension}}", diff --git a/src/android/kotlin/proguard-wry.pro b/src/android/kotlin/proguard-wry.pro index c05be860c..a84e45090 100644 --- a/src/android/kotlin/proguard-wry.pro +++ b/src/android/kotlin/proguard-wry.pro @@ -2,25 +2,25 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT --keep class {{package}}.* { +-keep class {{package-unescaped}}.* { native ; } --keep class {{package}}.WryActivity { +-keep class {{package-unescaped}}.WryActivity { public (...); - void setWebView({{package}}.RustWebView); + void setWebView({{package-unescaped}}.RustWebView); java.lang.Class getAppClass(...); java.lang.String getVersion(); } --keep class {{package}}.Ipc { +-keep class {{package-unescaped}}.Ipc { public (...); @android.webkit.JavascriptInterface public ; } --keep class {{package}}.RustWebView { +-keep class {{package-unescaped}}.RustWebView { public (...); void loadUrlMainThread(...); @@ -30,6 +30,6 @@ void evalScript(...); } --keep class {{package}}.RustWebChromeClient,{{package}}.RustWebViewClient { +-keep class {{package-unescaped}}.RustWebChromeClient,{{package-unescaped}}.RustWebViewClient { public (...); } \ No newline at end of file