Skip to content

Commit 43c3479

Browse files
xaionaro@dx.centerxaionaro@dx.center
authored andcommitted
fix(dist-dex): include GoInvocationHandler and adapter classes in DEX
The dist-dex target only compiled JNIService.java, missing the callback adapter classes and GoInvocationHandler needed for JNI proxy callbacks (Camera2 StateCallback, etc.). Use a staging directory to avoid collision with APK build artifacts.
1 parent 51991d7 commit 43c3479

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

Makefile

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,12 +199,18 @@ dist-jniservice:
199199
-o build/libjniservice-$(DIST_ANDROID_ABI).so ./cmd/jniservice/
200200

201201
dist-dex:
202-
@mkdir -p build
203-
javac --release 17 -d build cmd/jniservice/JNIService.java
202+
@mkdir -p build/dex-staging
203+
javac --release 17 \
204+
-cp $$(ls -d $(ANDROID_SDK)/platforms/android-* | sort -V | tail -1)/android.jar \
205+
-d build/dex-staging \
206+
cmd/jniservice/JNIService.java \
207+
cmd/jniservice/apk/src/center/dx/jni/internal/GoAbstractDispatch.java \
208+
cmd/jniservice/apk/src/center/dx/jni/generated/*.java \
209+
internal/testjvm/testdata/center/dx/jni/internal/GoInvocationHandler.java
204210
$(ANDROID_SDK)/build-tools/$$(ls $(ANDROID_SDK)/build-tools | sort -V | tail -1)/d8 \
205211
--lib $$(ls -d $(ANDROID_SDK)/platforms/android-* | sort -V | tail -1)/android.jar \
206-
--output build build/JNIService.class
207-
rm -f build/JNIService.class
212+
--output build $$(find build/dex-staging -name '*.class')
213+
rm -rf build/dex-staging
208214

209215
# ---- Magisk module ----
210216
magisk: dist-jniservice dist-dex apk

0 commit comments

Comments
 (0)