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에 오신 것을 환영합니다! 도움말 페이지 , 특히 "여기에 대해 어떤 주제가 있습니까?" 라는 제목 의 섹션을 읽으 십시오. 그리고 "어떤 종류의 질문을하지 말아야합니까?" . 또한 투어 를 가져 가서 좋은 질문을하는 방법에 대해 읽어보십시오. 마지막으로 Minimal, Complete 및 Verifiable Example 을 만드는 방법을 배우십시오. 오류에 대한 자세한 내용은 많은 도움이됩니다.
Alex Cohn 07/27/2017
멋진 아이디어입니다! 그러나 어떤 종류의 자녀 과정을 시작하고 싶습니까? 서비스? 시스템이 APK 분석을 기반으로 32 비트 모드를 활성화할지 여부를 결정하기 때문에이 방법이 효과가 있다고 생각하지 않습니다. 따라서 JVM이 적절하게 설정됩니다.
Alex Cohn 07/27/2017
stackoverflow.com/a/31879900/192373을보십시오 : pm 은 앱을 설치하는 동안 ABI를 강제 할 수 있습니다.
Carmelo M 07/28/2017
@AlexCohn 감사합니다! 나는 동의한다. 자식 프로세스 (Activity)는이 문제를 해결할 수 없다. 함수의 일부가 32 비트 .so를 사용하기를 원하기 때문에. 함수는 동일한 응용 프로그램에서 64 비트 .so를 사용합니다.
Carmelo M 07/28/2017
@AlexCohn 다른 아이디어가 있습니까? 석사

1 Answers


Alex Cohn 07/30/2017.

글쎄, 해봤 어. 이것에 직면하면, arm64-v8a 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를 통해 3 차원 그래픽을로드해야합니다. 이러한 UI 상호 작용을 처리하는 방법은 큰 문제이며, 나에게 아이디어를 줄 수 있기를 바랍니다. 감사합니다.
Alex Cohn 08/04/2017
나는 당신이 UI를 처리하거나 프로세스 간 통신을 통해 라이브 그래픽을 수행 할 수 있다고 생각하지 않는다.

HighResolutionMusic.com - Download Hi-Res Songs

1 (G)I-DLE

POP/STARS flac

(G)I-DLE. 2018. Writer: Riot Music Team;Harloe.
2 Ariana Grande

​Thank U, Next flac

Ariana Grande. 2018. Writer: Crazy Mike;Scootie;Victoria Monét;Tayla Parx;TBHits;Ariana Grande.
3 Imagine Dragons

Bad Liar flac

Imagine Dragons. 2018. Writer: Jorgen Odegard;Daniel Platzman;Ben McKee;Wayne Sermon;Aja Volkman;Dan Reynolds.
4 Clean Bandit

Baby flac

Clean Bandit. 2018. Writer: Jack Patterson;Kamille;Jason Evigan;Matthew Knott;Marina;Luis Fonsi.
5 Backstreet Boys

Chances flac

Backstreet Boys. 2018.
6 BTS

Waste It On Me flac

BTS. 2018. Writer: Steve Aoki;Jeff Halavacs;Ryan Ogren;Michael Gazzo;Nate Cyphert;Sean Foreman;RM.
7 Fitz And The Tantrums

HandClap flac

Fitz And The Tantrums. 2017. Writer: Fitz And The Tantrums;Eric Frederic;Sam Hollander.
8 BlackPink

Kiss And Make Up flac

BlackPink. 2018. Writer: Soke;Kny Factory;Billboard;Chelcee Grimes;Teddy Park;Marc Vincent;Dua Lipa.
9 Lady Gaga

I'll Never Love Again flac

Lady Gaga. 2018. Writer: Benjamin Rice;Lady Gaga.
10 Diplo

Close To Me flac

Diplo. 2018. Writer: Ellie Goulding;Savan Kotecha;Peter Svensson;Ilya;Swae Lee;Diplo.
11 Halsey

Without Me flac

Halsey. 2018. Writer: Halsey;Delacey;Louis Bell;Amy Allen;Justin Timberlake;Timbaland;Scott Storch.
12 Imagine Dragons

Machine flac

Imagine Dragons. 2018. Writer: Wayne Sermon;Daniel Platzman;Dan Reynolds;Ben McKee;Alex Da Kid.
13 Little Mix

The Cure flac

Little Mix. 2018. Writer: Pete Kelleher;Camille Purcell;Tom Barnes;Ben Kohn.
14 Bradley Cooper

Always Remember Us This Way flac

Bradley Cooper. 2018. Writer: Lady Gaga;Dave Cobb.
15 Calum Scott

No Matter What flac

Calum Scott. 2018. Writer: Toby Gad;Calum Scott.
16 Frida Sundemo

Apologize flac

Frida Sundemo. 2018.
17 Little Mix

Woman Like Me flac

Little Mix. 2018. Writer: Nicki Minaj;Steve Mac;Ed Sheeran;Jess Glynne.
18 Kelly Clarkson

Never Enough flac

Kelly Clarkson. 2018. Writer: Benj Pasek;Justin Paul.
19 Ashley Tisdale

Voices In My Head flac

Ashley Tisdale. 2018. Writer: John Feldmann;Ashley Tisdale.
20 Haley Reinhart

Something Strange flac

Haley Reinhart. 2018.

Related questions

Hot questions

Language

Popular Tags