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

nmmp貌似和binding兼容性不太好 #37

Closed
PoisonGZ opened this issue Mar 17, 2022 · 8 comments
Closed

nmmp貌似和binding兼容性不太好 #37

PoisonGZ opened this issue Mar 17, 2022 · 8 comments
Labels
bug Something isn't working

Comments

@PoisonGZ
Copy link

大佬您好,我目前遇到了一点问题,在我使用View Binding以后,使用nmmp进行vmp,会导致app无法打开,打开直接闪退,能否请大佬做一下兼容,祝大佬万事如意!

2021-10-22 21:33:00.374 10405-10405/com.demo.test E/AndroidRuntime: FATAL EXCEPTION: main Process: com.demo.test, PID: 10405 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.demo.test/com.demo.test.UI.MainActivity}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) Caused by: java.lang.NullPointerException at com.demo.test.UI.MainActivity.InitView(Native Method) at com.demo.test.UI.MainActivity.onCreate(Native Method) at android.app.Activity.performCreate(Activity.java:7802) at android.app.Activity.performCreate(Activity.java:7791) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)  at android.os.Handler.dispatchMessage(Handler.java:107)  at android.os.Looper.loop(Looper.java:214)  at android.app.ActivityThread.main(ActivityThread.java:7356)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 

@maoabc
Copy link
Owner

maoabc commented Mar 17, 2022

使用源码编译的吗?项目提供那个编译好的jar是早期的。还有要忽略androidx,不要对他们进行转化,因为后面改了loadLibrary逻辑,会导致androidx的一个enum加载错误。

@PoisonGZ
Copy link
Author

使用源码编译的吗?项目提供那个编译好的jar是早期的。还有要忽略androidx,不要对他们进行转化,因为后面改了loadLibrary逻辑,会导致androidx的一个enum加载错误。

好的,我会再尝试一下,谢谢大佬

@PoisonGZ
Copy link
Author

使用源码编译的吗?项目提供那个编译好的jar是早期的。还有要忽略androidx,不要对他们进行转化,因为后面改了loadLibrary逻辑,会导致androidx的一个enum加载错误。

我使用最新的源码编译还是闪退,希望大佬能做一下修复,谢谢大佬
这是Vmp以后的App:https://wws.lanzouw.com/i6JUn01mrckd密码:7h1g
这是原版App:https://wws.lanzouw.com/iHnHQ01mrcud密码:8vrf

@maoabc
Copy link
Owner

maoabc commented Mar 18, 2022

不知道你怎么弄的,我用最新的主线代码把所有com开头的包全加固了,没任何问题。

@maoabc
Copy link
Owner

maoabc commented Mar 18, 2022

可能和ndk版本有关,我这用的ndk是23.1.7779620,平台是linux。默认编译了armeabi-v7a和arm64-v8a,把所有com开头的class全转化了,测试都正常的

@maoabc
Copy link
Owner

maoabc commented Mar 18, 2022

用了跟你一样的配置只转化MainActivity的onCreate方法也是正常,有两种可能,ndk编译后的so有问题,还有就是zip处理资源在windows下有问题,我试试重新把原来apk里资源手动打包进加固后的apk

@maoabc maoabc added the bug Something isn't working label Mar 18, 2022
@maoabc
Copy link
Owner

maoabc commented Mar 18, 2022

问题找到了, 就是在windows下重新处理apk里的res目录下资源有问题, 可以手动用winzip删除加固后的apk里的res目录, 然后复制加固前的res目录到新apk, 再对齐跟签名就可以.
原因就不清楚了, zip处理问题应该只在windows下出现, 解决的话需要使用第三方zip库, 暂时就不理了.

@PoisonGZ
Copy link
Author

问题找到了, 就是在windows下重新处理apk里的res目录下资源有问题, 可以手动用winzip删除加固后的apk里的res目录, 然后复制加固前的res目录到新apk, 再对齐跟签名就可以. 原因就不清楚了, zip处理问题应该只在windows下出现, 解决的话需要使用第三方zip库, 暂时就不理了.

好的谢谢大佬!我去试试

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants