如何在应用程序中混合使用32位和64位.so文件

Carmelo M 09/15/2017. 1 answers, 84 views
java android android linux android-ndk android-ndk ndk-build

首先,我知道在应用程序中不允许混合使用不同的.so文件体系结构(部分只使用32,另一部分只使用64)

所以,我试图打开一个新的进程来动态加载64位和32位文件,但System.load()抛出错误和应用程序崩溃! 如何通过多个流程解决这个问题? 或者还有其他解决方法吗?

5 Comments
Markus 07/27/2017
欢迎来到SO! 请花些时间阅读帮助页面 ,特别是名为“我可以在这里问什么问题?”的部分。“我应该避免问什么类型的问题?” 。 也请参观并阅读如何提出好问题 。 最后,请了解如何创建一个最小,完整和可验证的示例 。 有关错误的详细信息会有很大帮助。
Alex Cohn 07/27/2017
这是一个很酷的主意! 但是你想开始什么样的儿童过程? 服务? 我认为这不会起作用,因为系统根据对APK的分析决定是否打开32位模式,并相应地设置JVM。
Alex Cohn 07/27/2017
请参阅stackoverflow.com/a/31879900/192373pm可以在安装应用程序pm强制使用ABI。
Carmelo M 07/28/2017
@AlexCohn谢谢! 我同意你,一个子进程(Activity)不能解决这个问题。[stackoverflow.com/a/31879900/192373]不工作,因为我想部分函数使用32位.so和部分函数在同一个应用程序中使用64位.so。
Carmelo M 07/28/2017
@AlexCohn你有什么其他想法吗? 主

1 Answers


Alex Cohn 07/30/2017.

那么,我确实尝试过。 从表面armeabi ,这是有效的:以常用的方式使用armeabi共享库“,并使用Runtime.exec()从Java运行arm64-v8a可执行文件,或使用system()从C运行arm64-v8a可执行文件。

您可以将可执行文件放在资产中并手动解压缩,也可以作弊并重命名,以便以lib开头并以.so结尾; 现在你可以把这个文件放在jniLibs/armeabi目录下。

相反的方式也适用:从64位应用程序启动32位可执行文件(不要忘记-fPIE )。

确保库搜索路径不冲突。

2 comments
Carmelo M 08/04/2017
这是一个很酷的主意! 我的项目不是类似于视频转码后台操作,而是需要加载三维图形,通过SurfaceView与用户手势进行交互。 如何处理这些UI交互是一个大问题,我希望你能给我一些想法,谢谢
Alex Cohn 08/04/2017
我不认为你可以通过进程间通信处理UI或执行实时图形

HighResolutionMusic.com - Download Hi-Res Songs

1 Alan Walker

Diamond Heart flac

Alan Walker. 2018. Writer: Alan Walker;Sophia Somajo;Mood Melodies;James Njie;Thomas Troelsen;Kristoffer Haugan;Edvard Normann;Anders Froen;Gunnar Greve;Yann Bargain;Victor Verpillat;Fredrik Borch Olsen.
2 Sia

I'm Still Here flac

Sia. 2018. Writer: Sia.
3 Little Mix

Woman Like Me flac

Little Mix. 2018. Writer: Nicki Minaj;Steve Mac;Ed Sheeran;Jess Glynne.
4 Cardi B

Taki Taki flac

Cardi B. 2018. Writer: Bava;Juan Vasquez;Vicente Saavedra;Jordan Thorpe;DJ Snake;Ozuna;Cardi B;Selena Gomez.
5 Eminem

Venom flac

Eminem. 2018. Writer: Eminem.
6 Halsey

Without Me flac

Halsey. 2018. Writer: Halsey;Delacey;Louis Bell;Amy Allen;Justin Timberlake;Timbaland;Scott Storch.
7 Lady Gaga

I'll Never Love Again flac

Lady Gaga. 2018. Writer: Benjamin Rice;Lady Gaga.
8 Kelsea Ballerini

This Feeling flac

Kelsea Ballerini. 2018. Writer: Andrew Taggart;Alex Pall;Emily Warren.
9 Bradley Cooper

Shallow flac

Bradley Cooper. 2018. Writer: Andrew Wyatt;Anthony Rossomando;Mark Ronson;Lady Gaga.
10 Dewain Whitmore

Burn Out flac

Dewain Whitmore. 2018. Writer: Dewain Whitmore;Ilsey Juber;Emilio Behr;Martijn Garritsen.
11 Mako

Rise flac

Mako. 2018. Writer: Riot Music Team;Mako;Justin Tranter.
12 Bradley Cooper

Always Remember Us This Way flac

Bradley Cooper. 2018. Writer: Lady Gaga;Dave Cobb.
13 Lukas Graham

Love Someone flac

Lukas Graham. 2018. Writer: Don Stefano;Morten "Rissi" Ristorp;Morten "Pilo" Pilegaard;Jaramye Daniels;James Alan;David LaBrel;Lukas Forchhammer Graham.
14 Avril Lavigne

Head Above Water flac

Avril Lavigne. 2018. Writer: Stephan Moccio;Travis Clark;Avril Lavigne.
15 Deep Chills

Run Free flac

Deep Chills. 2018.
16 Khalid

Better flac

Khalid. 2018. Writer: Charlie Handsome;Jamil Chammas;Denis Kosiak;Tor Erik Hermansen;Mikkel Stoleer Eriksen;Khalid.
17 Charli XCX

1999 flac

Charli XCX. 2018. Writer: Charli XCX;Troye Sivan;Leland;Oscar Holter;Noonie Bao.
18 NCT 127

Regular (English Version) flac

NCT 127. 2018.
19 Camila Cabello

Consequences (Orchestra) flac

Camila Cabello. 2018. Writer: Emily Lynn Weisband;Nicolle Galyon;Amy Wadge;Bart Schoudel;Frank Dukes;Camila Cabello.
20 Lady Gaga

Look What I Found flac

Lady Gaga. 2018. Writer: DJ White Shadow;Nick Monson;Mark Nilan Jr;Lady Gaga.

Related questions

Hot questions

Language

Popular Tags