좋아, 그래서 독점 대규모 네이티브 lib가 필요한 안드로이드 애플 리케이션을 개발하고 있습니다. 이것은 AS로부터의 전개 시간을 크게 증가 시키며, 이는 매우 성가시다. 공유 저장소에서 라이브러리를 동적으로로드하려면 각 다운로드에 라이브러리를 포함하는 것이 좋습니다.Android에서 프로그래밍 코드가 lib를로드하는 위치를 변경하는 방법은 무엇입니까?
그러나이 라이브러리는 독점 Java 래퍼와 함께 제공되기 때문에 System.load("/data/data/com.package.app/extraLib.so");
을 사용할 수없고 해당 래퍼 내에서 System.loadLibrary("Library");
이 호출되고 있습니다. 따라서 lib가 AS에 포함되어 있지 않으면 독점 코드가 UnsatisfiedLinkError
과 충돌합니다.
수동으로 lib를 내 앱의 보호 된 저장소에있는 /lib
폴더로 복사하려고했습니다. 그러나 어떤 이유로 /lib
폴더가 쓰기 금지되어 있습니다. (네, 내 애플 리케이션의 Java 코드에서 파일 탐색기 응용 프로그램에서 복사했기 때문에 루트가 필요하지 않습니다.)
리버스 엔지니어링하지 않고 독점 코드가 lib를로드하는 위치를 변경할 수있는 방법이 있습니까?
코드 삽입 공격에 취약한 안전하지 않은 앱을 개발 한 것을 시연하신 것을 축하합니다! – CommonsWare
@CommonsWare 이것은 개발 속도를 높이는 것입니다. ** 출시 앱에는 정상적인 방법이 포함됩니다 ** –
@CommonsWare [완벽한 소프트웨어 및 기타 테스트에 대한 환상] (https://www.goodreads.com/book/show/4060560-perfect- 소프트웨어 및 기타 - 환상에 관한 것). 대규모 네이티브 라이브러리가 코드 삽입이나 코드 또는 코드의 다른 부분에 영향을받지 않는다는 것을 어떻게 알 수 있습니까? –