ECToo / xdelta

Automatically exported from code.google.com/p/xdelta
0 stars 0 forks source link

xdelta 1.1.4 not working correctly on Android #171

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Compile xdelta1 (glib2.0 patched), libedsio (glib2.0 patched), and glib2.0 
as shared libraries for Android
2. Pass a file to patch and the patch itself to xdmain's patch_command 
function. Tested with multiple patches made with xdelta-1.1.3.

What is the expected output? What do you see instead?
xdp_control_read always returns null at the 
serializeio_unserialize_generic_acceptable function

What version of the product are you using? On what operating system?
xdelta-1.1.4 Android 4.3

Please provide any additional information below.
serializeio_find_entry in libedsio's generic.c always returns null. I don't 
believe its an endian issue. The file names are passed correctly from java to 
jni, so that doesn't appear to be the issue.
Also, I still don't see why people use xdelta1, but I need this library for 
compatibility. 

Original issue reported on code.google.com by xperianc...@gmail.com on 25 Jan 2014 at 12:10

GoogleCodeExporter commented 9 years ago
Who is using Xdelta1?
I'm not very interested in maintaining it. 
Just heading "libedsio" gives me a fright.

Original comment by josh.mac...@gmail.com on 25 Jan 2014 at 5:13

GoogleCodeExporter commented 9 years ago
I started this project: https://github.com/xperia64/android-rom-patcher
Its a collection of binary patch libs ported to android, most commonly used 
with ROM files. Turns out that some people are still using xdelta1 as recently 
as 2012 (e.g. the Pokemon Storm Silver patch), probably because of that shiny 
GUI that keeps floating around.

Original comment by xperianc...@gmail.com on 25 Jan 2014 at 6:16

GoogleCodeExporter commented 9 years ago
Could we not port "that shiny GUI" to xdelta3? I'm not even sure which GUI 
you're referring to.

Original comment by josh.mac...@gmail.com on 25 Jan 2014 at 6:18

GoogleCodeExporter commented 9 years ago
My point is, I'd like to get xdelta1 working in my android app for the existing 
xdelta1 patches out there. This is the xdelta1 GUI I've seen most often: 
https://db.tt/wG387ijV
I understand your pain with this completely antiquated software, but some 
people still use it.

Original comment by xperianc...@gmail.com on 25 Jan 2014 at 6:29

GoogleCodeExporter commented 9 years ago
OK, I accept. But I've never developed anything for android so there will be a 
learning curve.

Really I'd like to create a converter from v1 to v3 patches, but nothing is 
easy when you're short of time :)

Original comment by josh.mac...@gmail.com on 25 Jan 2014 at 6:31

GoogleCodeExporter commented 9 years ago
Excellent. If you need any help, ask me. I've set up a branch on that github 
repo I linked called xdelta1-testing. Clone that branch, grab android-ndk-r8d, 
cd into that folder, and ./ndk-build 
NDK_PROJECT_PATH=/path/to/git/cloned/android-rom-patcher Then to build the apk, 
download eclipse and the android sdk -> new android project from existing code 
and point it to the git cloned folder. When running the app, make sure the 
xdelta1 patch you are trying to apply has a .patch extension.

Original comment by xperianc...@gmail.com on 25 Jan 2014 at 7:07

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I fixed xdelta1 on android myself. Turns out I made a couple of stupid mistakes 
when splicing the libs into my app (such as not mallocing enough space for 
xdmain's arguments).

Original comment by xperianc...@gmail.com on 1 Mar 2014 at 7:24

GoogleCodeExporter commented 9 years ago
Thank you. FWIW, I decided I'll work on making xdelta3 read xdelta1 patches.

Original comment by josh.mac...@gmail.com on 3 Mar 2014 at 4:44