deviato / DroidPPPwn

PPPwn_cpp for Android + App Frontend [needs rooted device]
82 stars 2 forks source link

32-bit app #3

Closed sensi554 closed 2 months ago

sensi554 commented 2 months ago

I hope you convert it to 64-bit so that it works on all devices

Invictaz commented 2 months ago

Is it now a 32 bit app or 64 bit?

sensi554 commented 2 months ago

32 bit... It works with me because my proscser support 32 and 64 bit alot of People doesn't work with them

deviato commented 2 months ago

Maybe you meant the opposite. 64bit processors can load both 32bit and 64bit binaries. 32bit processors only 32bit binaries On the first release it was only for 64bit, check the new release, reading carefully "known bugs" section

worstperson commented 1 month ago

I don't know that it's relevant, but this is how I load native binaries in Android. Maybe it'll give you better results.

AndroidManifest.xml

    <application
        ....
        android:extractNativeLibs="true">

build.gradle (:app)

android {
    ...
    packagingOptions {
        jniLibs {
            useLegacyPackaging = true
        }
    }
}

Store binaries in app/src/main/jniLibs/ under directories named armeabi-v7a, arm64-v8a, x86, and x86_64. Use getApplicationInfo().nativeLibraryDir to resolve the library path within the app.

deviato commented 1 month ago

I don't know that it's relevant, but this is how I load native binaries in Android. Maybe it'll give you better results.

AndroidManifest.xml

    <application
        ....
        android:extractNativeLibs="true">

build.gradle (:app)

android {
    ...
    packagingOptions {
        jniLibs {
            useLegacyPackaging = true
        }
    }
}

Store binaries in app/src/main/jniLibs/ under directories named armeabi-v7a, arm64-v8a, x86, and x86_64. Use getApplicationInfo().nativeLibraryDir to resolve the library path within the app.

I know that, and that's what I used in the beginning. On arm64 this method doesn't work anymore, the files are not extracted in /data/data/myapp/lib folder. I could use internal naming, but I also need stagexxx.bin files to be extracted. This works only if you rename all files to libstagexxxxxx.so. But I need a copy of all those files for each architecture. So I put a copy of all these bins in each arch folder, but then android studio doesn't compile warning me that I have double identical libraries in my project. In the end I decided to put all files zipped in fake libxx.so files, placed in libarmeabi generic folder, and extract on my own when the app is just installed.