From 7b5d52ed77fed9d6bf7c0d55ba0608b4341787ec Mon Sep 17 00:00:00 2001 From: James Ide Date: Fri, 12 Oct 2018 20:56:45 -0700 Subject: [PATCH] [android] Make Expo Android use a custom SoLoader that implements 0.1.0 and 0.5.1 RN 0.57 and some of its dependencies (Fresco) updated to use SoLoader 0.5.1, which introduced breaking changes compared to 0.1.0. Namely, `SoLoader.loadLibrary` now returns a boolean instead of nothing. This causes old Java bytecode -- including older Expo ABIs -- that was looking for `void SoLoader.loadLibrary` to fail because the method is not defined. The behavior of SoLoader is seemingly otherwise compatible, so we may be able to just add the old method back. This commit adds a custom SoLoader AAR and overrides the version from Maven so that we use it when building Expo, but unimodules can depend on Maven's SoLoader 0.5.1 in the build.gradle files and work with the latest RN (0.57) and address issues like https://github.com/expo/expo-gl/issues/2. Test Plan: Built the Android client and loaded the published NavigationPlayground project, which uses SDK 30. Without this patch, the app crashes and adb logcat shows an error with SoLoader missing the void `loadLibrary` method. With this patch, NavigationPlayground (SDK 30) loads. Also unpacked the APK and examined the DEX files (classes3.dex specifically) and verified that both the old and new SoLoader methods are defined: ``` #13 : (in Lcom/facebook/soloader/SoLoader;) name : 'loadLibrary' type : '(Ljava/lang/String;)V' access : 0x0009 (PUBLIC STATIC) code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units catches : (none) positions : 0x0000 line=840 locals : 0x0000 - 0x0004 reg=0 shortName Ljava/lang/String; #14 : (in Lcom/facebook/soloader/SoLoader;) name : 'loadLibrary' type : '(Ljava/lang/String;)Z' access : 0x0009 (PUBLIC STATIC) code - registers : 2 ins : 1 outs : 2 insns size : 6 16-bit code units catches : (none) positions : 0x0000 line=455 locals : 0x0000 - 0x0006 reg=1 shortName Ljava/lang/String; ``` --- There is some sorcery to the AAR so these are some notes. Implementing the new and old SoLoader methods is complicated by the fact that we can't add the old method to the SoLoader.java source and recompile SoLoader. Java does not support return-type dispatch, so `void loadLibrary(String)` and `boolean loadLibrary(String)` fail to compile when together. However, JVM bytecode does allow for two methods with the same name and parameter types but different return values to co-exist. (In fact, some bytecode obfuscators use this behavior as they make take two differently-named Java methods with different return types and produce JVM bytecode with the same method name and different return types.) By editing the bytecode directly we can support the old and new SoLoader interfaces simultaneously. To do this, I found the SoLoader AAR from the Gradle cache, extracted it, then extracted classes.jar and found SoLoader.class. In a JVM bytecode editor I added a new method: ``` public static void loadLibrary(java.lang.String); descriptor: (Ljava/lang/String;)V flags: ACC_PUBLIC, ACC_STATIC Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokestatic #635 // Method loadLibrary:(Ljava/lang/String;)Z 4: pop 5: return LineNumberTable: line 840: 0 LocalVariableTable: Start Length Slot Name Signature 0 6 0 shortName Ljava/lang/String; ``` The implementation of this method was written by hand, which seems error-prone so I verified it three ways: - Wrote a small test class with a similar method and inspected its bytecode and ensured it matched the new SoLoader method's bytecode. - Ran the modified .class file through a decompiler and verified the Java code looked right. - Wrote a small test class that called into the actual modified .class file and verified I could invoke the underlying `SoLoader.loadLibrary` method i.e. the thin patched method was working. --- .../soloader/0.5.1/soloader-0.5.1.aar | Bin 0 -> 58813 bytes .../soloader/0.5.1/soloader-0.5.1.aar.md5 | 1 + .../soloader/0.5.1/soloader-0.5.1.aar.sha1 | 1 + .../soloader/0.5.1/soloader-0.5.1.pom | 29 ++++++++++++++++++ .../soloader/0.5.1/soloader-0.5.1.pom.md5 | 1 + .../soloader/0.5.1/soloader-0.5.1.pom.sha1 | 1 + .../soloader/soloader/maven-metadata.xml | 12 ++++++++ .../soloader/soloader/maven-metadata.xml.md5 | 1 + .../soloader/soloader/maven-metadata.xml.sha1 | 1 + 9 files changed, 47 insertions(+) create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar.md5 create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar.sha1 create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom.md5 create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom.sha1 create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml.md5 create mode 100644 expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml.sha1 diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar new file mode 100644 index 0000000000000000000000000000000000000000..a63df000d3cdfe8dc4f7ee17199b751e30374517 GIT binary patch literal 58813 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%0DiEX8fc`rK$JC-W(l1?|t*oe1%4dVViNS@_laPqd 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 literal 0 HcmV?d00001 diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar.md5 b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar.md5 new file mode 100644 index 0000000000000..83f1fb8229d93 --- /dev/null +++ b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar.md5 @@ -0,0 +1 @@ +d12b8edd7cdc227c3831091432cd9bc9 \ No newline at end of file diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar.sha1 b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar.sha1 new file mode 100644 index 0000000000000..cbfff95d1280f --- /dev/null +++ b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.aar.sha1 @@ -0,0 +1 @@ +bd0fcfede5f25e6fabbed2937d4fe5144ee333a4 \ No newline at end of file diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom new file mode 100644 index 0000000000000..798844938abbd --- /dev/null +++ b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom @@ -0,0 +1,29 @@ + + + 4.0.0 + com.facebook.soloader + soloader + 0.5.1 + aar + SoLoader + Reliable native code loader for Android + https://github.com/facebook/soloader + + + https://github.com/facebook/soloader/blob/master/LICENSE + BSD License + + + + + facebook + Facebook + + + + https://github.com/facebook/soloader.git + scm:git:git@github.com:facebook/soloader.git + scm:git:https://github.com/facebook/soloader.git + + diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom.md5 b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom.md5 new file mode 100644 index 0000000000000..e346e4dd65e1e --- /dev/null +++ b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom.md5 @@ -0,0 +1 @@ +d0a993f02f083dca0dbd9b0ce6eff9d3 \ No newline at end of file diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom.sha1 b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom.sha1 new file mode 100644 index 0000000000000..140dd4e9157bb --- /dev/null +++ b/expokit-npm-package/maven/com/facebook/soloader/soloader/0.5.1/soloader-0.5.1.pom.sha1 @@ -0,0 +1 @@ +e2996d0ceff9de93bd47a96d22c9963ddb1fe3de \ No newline at end of file diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml b/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml new file mode 100644 index 0000000000000..4b7e9a187d094 --- /dev/null +++ b/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml @@ -0,0 +1,12 @@ + + + com.facebook.soloader + soloader + + 0.5.1 + + 0.5.1 + + 20181013081228 + + diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml.md5 b/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml.md5 new file mode 100644 index 0000000000000..10a1f894a8b42 --- /dev/null +++ b/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml.md5 @@ -0,0 +1 @@ +f3d379b729c23e13b2209865dd8adf62 \ No newline at end of file diff --git a/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml.sha1 b/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml.sha1 new file mode 100644 index 0000000000000..4e3efdb2027bb --- /dev/null +++ b/expokit-npm-package/maven/com/facebook/soloader/soloader/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +0d8d998c02cdb687fe33aaf5bb8a82defe404425 \ No newline at end of file