Skip to content
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

64 bit compatibility #8

Open
webslinger283 opened this issue Aug 14, 2023 · 10 comments
Open

64 bit compatibility #8

webslinger283 opened this issue Aug 14, 2023 · 10 comments

Comments

@webslinger283
Copy link

Great program. I had been using it since 2011 or 2012. I recently upgraded to the Pixel 7 Pro which only allows 64-bit programs to be installed. As a result, I cannot install AndieGraph, and I miss it A LOT!! is there anyway to revise the code to 64 bit without too much pain and suffering? I have installed AlmostTI but don't like the interface as much. I consider the much more streamlined AndieGraph to be far superior. I would be happy to pay for the effort. Thanks for all your work!

@akx
Copy link

akx commented Sep 10, 2023

I can give this a shot, I'm in the same boat as you...

@webslinger283
Copy link
Author

that would be great, I will be happy to send a tip if you can get it working! Just keep me posted, thanks.

@Paitor85
Copy link

Paitor85 commented Nov 3, 2023

Any news @akx ?

@girst
Copy link

girst commented Jan 27, 2024

I've recompiled the app with sdk-28 (chosen arbitrarily) and it works on aarch64/android14 without changing the code. I did have to fuzz around with the build config, though. After installing, I had to manually enable the Files permission (it won't ask itself and can't find the ROMs without)

You generally shouldn't trust binaries from strangers but here y'all go: andiegraph-apks.zip

there are 2 versions inside:

i promise i didn't hide a virus in them, but i'm just some dude on the internet. so use these on your own risk.

high level build instructions (for generous interpretations of the word ""instructions"")

these are my notes of what i did to get these builds. i tried to get it to work with sdk 25 (which is the one andiegraph used to use) but i ran into build issues. probably resolvable, but i gave up. i'm just following random instructions from stackoverflow and github issues, so ymmv.

rebuilding AndieGraph for aarch64

0. dnf install podman
1. podman run -it --rm --device /dev/kvm androidsdk/android-28:latest bash  # select docker.io registry
2. wget https://dl.google.com/android/repository/android-ndk-r25c-linux.zip && unzip android-ndk-r25c-linux.zip -d /opt

3. git clone https://github.com/dgmltn/AndieGraph

4. echo android.deprecatedNdkCompileLease=`date +%s000` >> gradle.properties
5. echo ndk.dir=/opt/android-ndk-r25c >> local.properties
6. apply fixes from https://github.com/flutter/flutter/issues/22470#issuecomment-426794850
7. modify app/build.gradle to reference version 28 instead of 25 everywhere and add linting config and extra repos (mvn, google)

8. ./gradlew build
9. find -name *.apk
10. sign with https://stackoverflow.com/a/24833908
11. podman cp ${container}:${apk_path} .

after installing on android, go to app-info and allow 'Files' permission, or
roms won't show up.

here are all the changes i made in steps 4-7:

diff --git a/app/build.gradle b/app/build.gradle
index c50659c..2620058 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,13 +1,13 @@
 apply plugin: 'com.android.application'
 
 android {
-    compileSdkVersion 25
-    buildToolsVersion "25.0.2"
+    compileSdkVersion 28
+    buildToolsVersion "28.0.2"
 
     defaultConfig {
         applicationId 'net.supware.tipro'
         minSdkVersion 19
-        targetSdkVersion 25
+        targetSdkVersion 28
         versionCode 1
         versionName "1.0"
 
@@ -26,10 +26,14 @@ android {
     }
     productFlavors {
     }
+
+    lintOptions {
+        abortOnError false
+    }
 }
 
 
 dependencies {
-    compile 'com.android.support:appcompat-v7:25.1.1'
-    compile 'com.android.support:support-v4:25.1.1'
+    compile 'com.android.support:appcompat-v7:28.0.0'
+    compile 'com.android.support:support-v4:28.0.0'
 }
diff --git a/build.gradle b/build.gradle
index b193299..332f1b2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,10 +2,12 @@
 
 buildscript {
     repositories {
+        google()
         jcenter()
+        mavenCentral()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.2.0'
+        classpath 'com.android.tools.build:gradle:3.2.0'
 
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
@@ -14,6 +16,8 @@ buildscript {
 
 allprojects {
     repositories {
+        google()
         jcenter()
+        mavenCentral()
     }
 }
diff --git a/gradle.properties b/gradle.properties
index 89e0d99..3f03fde 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -16,3 +16,4 @@
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
+android.deprecatedNdkCompileLease=1706389580088
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 17d7b4f..34580f2 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

@Paitor85
Copy link

Thank you @girst . Fixed fullscreen on Xperia 5 V for me.

@deckaddict
Copy link

@girst : Nice to see you using the branch.

I do not recall how the default contrast is set. But if everything is too dark or too bright one may need to use 2nd+up/down to change contrast. This changeset was there to be able to get the cool fade in/out effects one could see in real life in demos like "Ride" by Linus Åkesson.

But maybe I misunderstand the problem you had.

@girst
Copy link

girst commented Jan 28, 2024 via email

@deckaddict
Copy link

@girst He has done demos for other platforms as well. I made a recording that you can find here.
https://github.com/deckaddict/my-large-files/raw/master/TI83-Ride-Demo.mp4

@akx
Copy link

akx commented Jan 31, 2024

@girst Nice job! I'll see if I can package that up into automatic GitHub Actions magic...

EDIT: akx#1 seems to work

@chrisnappi
Copy link

@girst and @deckaddict thanks so much for your work here! (sorry I know this isn't a forum, but figure this audience is small enough)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants