Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
5d8bb897
Commit
5d8bb897
authored
Jan 21, 2017
by
tonymanou
Committed by
topjohnwu
Jan 27, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Separate JNI glue from actual C code, move CMakeLists file
parent
84c8ecb3
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
43 additions
and
23 deletions
+43
-23
build.gradle
app/build.gradle
+1
-1
CMakeLists.txt
app/src/main/jni/CMakeLists.txt
+7
-0
jni_glue.c
app/src/main/jni/jni_glue.c
+23
-0
zipadjust.c
app/src/main/jni/zipadjust.c
+3
-22
zipadjust.h
app/src/main/jni/zipadjust.h
+9
-0
No files found.
app/build.gradle
View file @
5d8bb897
...
@@ -38,7 +38,7 @@ android {
...
@@ -38,7 +38,7 @@ android {
}
}
externalNativeBuild
{
externalNativeBuild
{
cmake
{
cmake
{
path
'CMakeLists.txt'
path
'
src/main/jni/
CMakeLists.txt'
}
}
}
}
}
}
...
...
app/CMakeLists.txt
→
app/
src/main/jni/
CMakeLists.txt
View file @
5d8bb897
cmake_minimum_required
(
VERSION 3.6
)
cmake_minimum_required
(
VERSION 3.6
)
add_library
(
zipadjust SHARED src/main/jni/zipadjust.c
)
add_library
(
zipadjust SHARED
jni_glue.c
zipadjust.c
)
find_library
(
libz z
)
find_library
(
libz z
)
find_library
(
liblog log
)
find_library
(
liblog log
)
target_link_libraries
(
zipadjust
${
libz
}
${
liblog
}
)
target_link_libraries
(
zipadjust
${
libz
}
${
liblog
}
)
\ No newline at end of file
app/src/main/jni/jni_glue.c
0 → 100644
View file @
5d8bb897
//
// Java entry point
//
#include <jni.h>
#include <stdlib.h>
#include "zipadjust.h"
JNIEXPORT
jbyteArray
JNICALL
Java_com_topjohnwu_magisk_utils_ZipUtils_zipAdjust
(
JNIEnv
*
env
,
jclass
type
,
jbyteArray
jbytes
,
jint
size
)
{
fin
=
(
*
env
)
->
GetPrimitiveArrayCritical
(
env
,
jbytes
,
NULL
);
insize
=
(
size_t
)
size
;
zipadjust
(
0
);
(
*
env
)
->
ReleasePrimitiveArrayCritical
(
env
,
jbytes
,
fin
,
0
);
jbyteArray
ret
=
(
*
env
)
->
NewByteArray
(
env
,
outsize
);
(
*
env
)
->
SetByteArrayRegion
(
env
,
ret
,
0
,
outsize
,
(
const
jbyte
*
)
fout
);
free
(
fout
);
return
ret
;
}
app/src/main/jni/zipadjust.c
View file @
5d8bb897
#include <jni.h>
#include <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdio.h>
#include <zlib.h>
#include <zlib.h>
#include <android/log.h>
#include <android/log.h>
#include "zipadjust.h"
#define LOG_TAG "zipadjust"
#define LOG_TAG "zipadjust"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
size_t
insize
,
outsize
=
0
,
alloc
=
0
;
size_t
insize
=
0
,
outsize
=
0
,
alloc
=
0
;
unsigned
char
*
fin
,
*
fout
;
unsigned
char
*
fin
=
NULL
,
*
fout
=
NULL
;
int
zipadjust
(
int
decompress
)
;
JNIEXPORT
jbyteArray
JNICALL
Java_com_topjohnwu_magisk_utils_ZipUtils_zipAdjust
(
JNIEnv
*
env
,
jclass
type
,
jbyteArray
jbytes
,
jint
size
)
{
fin
=
(
*
env
)
->
GetPrimitiveArrayCritical
(
env
,
jbytes
,
NULL
);
insize
=
(
size_t
)
size
;
zipadjust
(
0
);
(
*
env
)
->
ReleasePrimitiveArrayCritical
(
env
,
jbytes
,
fin
,
0
);
jbyteArray
ret
=
(
*
env
)
->
NewByteArray
(
env
,
outsize
);
(
*
env
)
->
SetByteArrayRegion
(
env
,
ret
,
0
,
outsize
,
(
const
jbyte
*
)
fout
);
free
(
fout
);
return
ret
;
}
#pragma pack(1)
#pragma pack(1)
struct
local_header_struct
{
struct
local_header_struct
{
...
...
app/src/main/jni/zipadjust.h
0 → 100644
View file @
5d8bb897
#ifndef MAGISKMANAGER_ZIPADJUST_H_H
#define MAGISKMANAGER_ZIPADJUST_H_H
int
zipadjust
(
int
decompress
);
extern
size_t
insize
,
outsize
,
alloc
;
extern
unsigned
char
*
fin
,
*
fout
;
#endif //MAGISKMANAGER_ZIPADJUST_H_H
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment