-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build instructions still valid? #52
Comments
Yes it needs JDK 17, |
That's what I installed, but still get the above error. OK, I ran it with ATTR: http://schemas.android.com/apk/res/android:versionCode=127
- ATTR: http://schemas.android.com/apk/res/android:versionName='v1.27'
+ ATTR: http://schemas.android.com/apk/res/android:versionName='v1.27-fd'
ATTR: http://schemas.android.com/apk/res/android:compileSdkVersion=34 And that's not the only difference: -rw-r--r-- 0.0 unx 120 b- 118 defN 1981-01-01 01:01:02 8647e885 META-INF/version-control-info.textproto
- -rw-r--r-- 0.0 unx 1918 b- 1918 stor 1981-01-01 01:01:02 5224bb4c assets/dexopt/baseline.prof
+ -rw-r--r-- 0.0 unx 1918 b- 1918 stor 1981-01-01 01:01:02 90788a2e assets/dexopt/baseline.prof
-rw-r--r-- 0.0 unx 187 b- 187 stor 1981-01-01 01:01:02 31ab17c2 assets/dexopt/baseline.profm
- -rw-r--r-- 0.0 unx 1794232 b- 887805 defN 1981-01-01 01:01:02 8c827d71 classes.dex
+ -rw-r--r-- 0.0 unx 1794364 b- 887894 defN 1981-01-01 01:01:02 bc505d3d classes.dex
-rw-r--r-- 0.0 unx 168352 b- 69680 defN 1981-01-01 01:01:02 393a229f classes2.dex
- -rw-r--r-- 0.0 unx 7512 b- 2882 defN 1981-01-01 01:01:02 0093ac4f lib/arm64-v8a/libpmxd.so
+ -rw-r--r-- 0.0 unx 7800 b- 2953 defN 1981-01-01 01:01:02 b355030d lib/arm64-v8a/libpmxd.so
-rw-r--r-- 0.0 unx 27080 b- 11274 defN 1981-01-01 01:01:02 af16dfb5 lib/arm64-v8a/libpmxe.so
-rw-r--r-- 0.0 unx 30224 b- 19307 defN 1981-01-01 01:01:02 e9f9b14e lib/arm64-v8a/libspake2.so
- -rw-r--r-- 0.0 unx 5388 b- 2363 defN 1981-01-01 01:01:02 ee21066c lib/armeabi-v7a/libpmxd.so
+ -rw-r--r-- 0.0 unx 5644 b- 2434 defN 1981-01-01 01:01:02 a42498a1 lib/armeabi-v7a/libpmxd.so
-rw-r--r-- 0.0 unx 22056 b- 10077 defN 1981-01-01 01:01:02 33d7e1d7 lib/armeabi-v7a/libpmxe.so
-rw-r--r-- 0.0 unx 25864 b- 17618 defN 1981-01-01 01:01:02 9b326212 lib/armeabi-v7a/libspake2.so
- -rw-r--r-- 0.0 unx 6300 b- 2888 defN 1981-01-01 01:01:02 2b743280 lib/x86/libpmxd.so
+ -rw-r--r-- 0.0 unx 6556 b- 2962 defN 1981-01-01 01:01:02 f2306e2d lib/x86/libpmxd.so
-rw-r--r-- 0.0 unx 24500 b- 12082 defN 1981-01-01 01:01:02 7f39c999 lib/x86/libpmxe.so
-rw-r--r-- 0.0 unx 46292 b- 24638 defN 1981-01-01 01:01:02 8af8c277 lib/x86/libspake2.so
- -rw-r--r-- 0.0 unx 7272 b- 2790 defN 1981-01-01 01:01:02 73377181 lib/x86_64/libpmxd.so
+ -rw-r--r-- 0.0 unx 7560 b- 2865 defN 1981-01-01 01:01:02 f69c9698 lib/x86_64/libpmxd.so
-rw-r--r-- 0.0 unx 27480 b- 12104 defN 1981-01-01 01:01:02 6fbd0049 lib/x86_64/libpmxe.so
-rw-r--r-- 0.0 unx 38680 b- 21111 defN 1981-01-01 01:01:02 f738153f lib/x86_64/libspake2.so
- -rw-r--r-- 0.0 unx 23284 b- 23173 defN 1981-01-01 01:01:02 b1395f8d assets/daemon.dx
+ -rw-r--r-- 0.0 unx 23284 b- 23173 defN 1981-01-01 01:01:02 7c2de250 assets/daemon.dx
-rw---- 2.0 fat 1738 b- 782 defN 1981-01-01 01:01:02 7cded4df DebugProbesKt.bin
-rw---- 2.0 fat 6 b- 8 defN 1981-01-01 01:01:02 38ca8087 META-INF/androidx.activity_activity-ktx.version
-rw---- 2.0 fat 6 b- 8 defN 1981-01-01 01:01:02 38ca8087 META-INF/androidx.activity_activity.version
@@ -93,7 +93,7 @@
-rw---- 2.0 fat 2426 b- 1286 defN 1981-01-01 01:01:02 7e3e3d18 kotlin/reflect/reflect.kotlin_builtins
-rw---- 2.0 fat 42868 b- 6038 defN 1981-01-01 01:01:02 71c94b37 org/bouncycastle/x509/CertPathReviewerMessages.properties
-rw---- 2.0 fat 49608 b- 6732 defN 1981-01-01 01:01:02 8357ba7f org/bouncycastle/x509/CertPathReviewerMessages_de.properties
- -rw---- 0.0 fat 10968 b- 2762 defN 1981-01-01 01:01:02 97a59635 AndroidManifest.xml
+ -rw---- 0.0 fat 10976 b- 2767 defN 1981-01-01 01:01:02 020b588c AndroidManifest.xml
-rw---- 0.0 fat 352 b- 208 defN 1981-01-01 01:01:02 df4f27a5 res/-5.xml The The ---
repository: https://github.com/mirfatif/PermissionManagerX.git
updates: releases
versions:
- tag: v1.27
apks:
- apk_pattern: PMX_v[0-9.]+\.apk
apk_url: https://github.com/mirfatif/PermissionManagerX/releases/download/v1.27/PMX_v1.27.apk
build:
- echo "sdk.dir=/opt/sdk" >> local.properties
- chmod +x gradlew
- ./gradlew :app:assembleRelease -Pself -Pfoss
- find . -name '*.apk'
- mv app/build/outputs/apk/fdroidFoss/release/app-fdroid-foss-release-unsigned.apk /outputs/unsigned.apk
build_cpus:
build_home_dir: /build
build_repo_dir: /build/repo
build_timeout:
build_user: build
provisioning:
android_home: /opt/sdk
build_tools:
cmake:
cmdline_tools:
version: '12.0'
url: https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
sha256: 2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258
extra_packages:
- make
- gcc
- libc-dev
image: debian:bookworm-slim
jdk: openjdk-17-jdk-headless
ndk: 25.1.8937393
platform:
platform_tools:
tools:
verify_gradle_wrapper: true Btw, there are 2 APKs, maybe I should take the other one? The name does not really suggest that:
|
diff --git a/app/build.gradle b/app/build.gradle
index 1d29614..9c13ee9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -51,7 +51,7 @@ android {
variantFilter { variant ->
List names = variant.flavors*.name
if (noPro) {
- if (!names.contains('fdroid') || !names.contains('foss')) {
+ if (!names.contains('self') || !names.contains('foss')) {
variant.setIgnore(true)
}
} else if (names.contains('ps') && names.contains('foss')) {
@@ -306,7 +306,7 @@ if (!noPro) {
}
afterEvaluate {
- setExtSrcDependencies('Fdroid', 'Foss')
+ setExtSrcDependencies('Self', 'Foss')
if (!noPro) {
setExtSrcDependencies('Self', 'Foss') Run |
That was the first thing I tried, and failed – but well, maybe that was also solved by explicitly specifying the NDK version, let me try again… and get the same error again:
and before you ask: no,
Listing up available tasks (
Nothing with "self" there. That only leaves There must be something we both miss, huh? 🤷♂️ According to |
Did you apply the diff patch I provided? |
Oof, I mistook it for a quote. Will try again once the "daily run" is through here. Thanks for the pointer! |
OK, this builds: build:
- echo "sdk.dir=/opt/sdk" >> local.properties
- sed -r "s/!names.contains\('fdroid'/!names.contains('self'/ ; s/setExtSrcDependencies\('Fdroid', 'Foss'\)/setExtSrcDependencies('Self', 'Foss')/" -i app/build.gradle
- chmod +x gradlew
- ./gradlew assembleSelfFossRelease
- find . -name '*.apk'
- mv app/build/outputs/apk/selfFoss/release/app-self-foss-release-unsigned.apk /outputs/unsigned.apk but is not RB. APK Diff: -rw-r--r-- 0.0 unx 168352 b- 69680 defN 1981-01-01 01:01:02 393a229f classes2.dex
- -rw-r--r-- 0.0 unx 7512 b- 2882 defN 1981-01-01 01:01:02 0093ac4f lib/arm64-v8a/libpmxd.so
+ -rw-r--r-- 0.0 unx 7800 b- 2953 defN 1981-01-01 01:01:02 b355030d lib/arm64-v8a/libpmxd.so
-rw-r--r-- 0.0 unx 27080 b- 11274 defN 1981-01-01 01:01:02 af16dfb5 lib/arm64-v8a/libpmxe.so
-rw-r--r-- 0.0 unx 30224 b- 19307 defN 1981-01-01 01:01:02 e9f9b14e lib/arm64-v8a/libspake2.so
- -rw-r--r-- 0.0 unx 5388 b- 2363 defN 1981-01-01 01:01:02 ee21066c lib/armeabi-v7a/libpmxd.so
+ -rw-r--r-- 0.0 unx 5644 b- 2434 defN 1981-01-01 01:01:02 a42498a1 lib/armeabi-v7a/libpmxd.so
-rw-r--r-- 0.0 unx 22056 b- 10077 defN 1981-01-01 01:01:02 33d7e1d7 lib/armeabi-v7a/libpmxe.so
-rw-r--r-- 0.0 unx 25864 b- 17618 defN 1981-01-01 01:01:02 9b326212 lib/armeabi-v7a/libspake2.so
- -rw-r--r-- 0.0 unx 6300 b- 2888 defN 1981-01-01 01:01:02 2b743280 lib/x86/libpmxd.so
+ -rw-r--r-- 0.0 unx 6556 b- 2962 defN 1981-01-01 01:01:02 f2306e2d lib/x86/libpmxd.so
-rw-r--r-- 0.0 unx 24500 b- 12082 defN 1981-01-01 01:01:02 7f39c999 lib/x86/libpmxe.so
-rw-r--r-- 0.0 unx 46292 b- 24638 defN 1981-01-01 01:01:02 8af8c277 lib/x86/libspake2.so
- -rw-r--r-- 0.0 unx 7272 b- 2790 defN 1981-01-01 01:01:02 73377181 lib/x86_64/libpmxd.so
+ -rw-r--r-- 0.0 unx 7560 b- 2865 defN 1981-01-01 01:01:02 f69c9698 lib/x86_64/libpmxd.so
-rw-r--r-- 0.0 unx 27480 b- 12104 defN 1981-01-01 01:01:02 6fbd0049 lib/x86_64/libpmxe.so
-rw-r--r-- 0.0 unx 38680 b- 21111 defN 1981-01-01 01:01:02 f738153f lib/x86_64/libspake2.so
- -rw-r--r-- 0.0 unx 23284 b- 23173 defN 1981-01-01 01:01:02 b1395f8d assets/daemon.dx
+ -rw-r--r-- 0.0 unx 23284 b- 23173 defN 1981-01-01 01:01:02 3fa242f2 assets/daemon.dx
-rw---- 2.0 fat 1738 b- 782 defN 1981-01-01 01:01:02 7cded4df DebugProbesKt.bin I've run diffoscope over it, but cannot make much out in its 1.5 MB output. My guess would be different compiler versions – but I've specified the NDK you named, and other things are not mentioned (e.g. a specific version of Any idea from your side? |
No idea. Only the daemon files differ, not the app files. Did you do a clean build ( |
I can add that, but what effect would that have in a "clean container"? Our builds here always run in a "virgin environment", so there should be nothing to "clean" as there was no previous build. Please correct me if I'm understanding something wrong there. Edit: Give me a few minutes, looks like I just got something wrong with what I've just tried… |
OK, so this recipe: - echo "sdk.dir=/opt/sdk" >> local.properties
- sed -r "s/!names.contains\('fdroid'/!names.contains('self'/ ; s/setExtSrcDependencies\('Fdroid', 'Foss'\)/setExtSrcDependencies('Self', 'Foss')/" -i app/build.gradle
- chmod +x gradlew
- ./gradlew assembleSelfFossRelease You see there's just a single -rw-r--r-- 0.0 unx 168352 b- 69680 defN 1981-01-01 01:01:02 393a229f classes2.dex
- -rw-r--r-- 0.0 unx 7512 b- 2882 defN 1981-01-01 01:01:02 0093ac4f lib/arm64-v8a/libpmxd.so
+ -rw-r--r-- 0.0 unx 7800 b- 2953 defN 1981-01-01 01:01:02 b355030d lib/arm64-v8a/libpmxd.so
-rw-r--r-- 0.0 unx 27080 b- 11274 defN 1981-01-01 01:01:02 af16dfb5 lib/arm64-v8a/libpmxe.so
-rw-r--r-- 0.0 unx 30224 b- 19307 defN 1981-01-01 01:01:02 e9f9b14e lib/arm64-v8a/libspake2.so
- -rw-r--r-- 0.0 unx 5388 b- 2363 defN 1981-01-01 01:01:02 ee21066c lib/armeabi-v7a/libpmxd.so
+ -rw-r--r-- 0.0 unx 5644 b- 2434 defN 1981-01-01 01:01:02 a42498a1 lib/armeabi-v7a/libpmxd.so
-rw-r--r-- 0.0 unx 22056 b- 10077 defN 1981-01-01 01:01:02 33d7e1d7 lib/armeabi-v7a/libpmxe.so
-rw-r--r-- 0.0 unx 25864 b- 17618 defN 1981-01-01 01:01:02 9b326212 lib/armeabi-v7a/libspake2.so
- -rw-r--r-- 0.0 unx 6300 b- 2888 defN 1981-01-01 01:01:02 2b743280 lib/x86/libpmxd.so
+ -rw-r--r-- 0.0 unx 6556 b- 2962 defN 1981-01-01 01:01:02 f2306e2d lib/x86/libpmxd.so
-rw-r--r-- 0.0 unx 24500 b- 12082 defN 1981-01-01 01:01:02 7f39c999 lib/x86/libpmxe.so
-rw-r--r-- 0.0 unx 46292 b- 24638 defN 1981-01-01 01:01:02 8af8c277 lib/x86/libspake2.so
- -rw-r--r-- 0.0 unx 7272 b- 2790 defN 1981-01-01 01:01:02 73377181 lib/x86_64/libpmxd.so
+ -rw-r--r-- 0.0 unx 7560 b- 2865 defN 1981-01-01 01:01:02 f69c9698 lib/x86_64/libpmxd.so
-rw-r--r-- 0.0 unx 27480 b- 12104 defN 1981-01-01 01:01:02 6fbd0049 lib/x86_64/libpmxe.so
-rw-r--r-- 0.0 unx 38680 b- 21111 defN 1981-01-01 01:01:02 f738153f lib/x86_64/libspake2.so
- -rw-r--r-- 0.0 unx 23284 b- 23173 defN 1981-01-01 01:01:02 b1395f8d assets/daemon.dx
+ -rw-r--r-- 0.0 unx 23284 b- 23173 defN 1981-01-01 01:01:02 7e1e03c0 assets/daemon.dx
-rw---- 2.0 fat 1738 b- 782 defN 1981-01-01 01:01:02 7cded4df DebugProbesKt.bin I've run I'm far from understanding the rest, but it looks like that could have caused addresses to be shifted (I'm really not home in that area, so please forgive my ignorance in this concern). Here's the gzipped diffoscope output, maybe you can identify something there: diffoscope.html.gz Build is running on Debian bookworm here with JDK 17. I could switch to Ubuntu jammy and JDK 21 if that's closer to your environment (shouldn't as you explicitly said "JDK 17"), Debian bullseye would also be an option here. Or specifying an explicit version for make, gcc, libc-dev, idk – the best bet is that different versions in one of the latter produce different output. |
|
|
Yes. By hard-coding a timestamp in ZipEntry.
Yes. The source code. And the build script.
Use the same NDK version.
Mostly Ubuntu.
|
Good, thanks!
That script is called by gradle, right? So my above "build recipe" isn't missing anything in this regard (well, we'd not have the libs if it did I guess)?
jdk: openjdk-17-jdk-headless
ndk: 25.1.8937393 matches I'd say.
I can try again on Ubuntu jammy.
OK, Now, that's funny. I've tried with Ubuntu jammy: libs are identical now, only the timestamps in |
Build instructions in the Readme state:
Is this still correct? Because doing so, trying to build v1.27 I ended up with:
Further, I tried to build only the
SelfFoss
variant, butassembleSelfFossRelease
failed saying it could not be found.So reverting to exactly what the Readme says, just omitting the JDK-11 part, I get
Most folks might have
build-essential
installed – I tried building with a minimal image in Podman, as all the RBs at IzzyOnDroid are built that way. So maybe while on it, maybe also include the requirements (spotted so far: make, gcc)? There must be more, because at this point I'm stuck with:In a last try, I've simply added
build-essential
– but still the build fails, this time withI also could not figure how to specify the variant to build (here: selfFoss), might be good to point that out as well – no need to build them all, then only pick one and throw the others away 😉
The text was updated successfully, but these errors were encountered: