I have an APK file with the bundled native libs. When I install them using adb the libraries are correctly created at <path-to_package>/lib/, But I have to integrate my apk to the build system along with the Android.mk file. What I need to add in the make to get the libs extracted on to the target
Extract native libs from prebuilt apk file using Android.mk
3.2k views Asked by Vimalakshi Adiga At
2
There are 2 answers
2
semw
On
If you have libraries then copy libraries and create a folder in aosp_source/external/yourlibfolder and paste your libraries there.
Go to build/target/product and write this code in your relevant make file(e.g handhel_system.mk) for each of library. Replace yourlibname with each library name
external/yourlibfolder/yourlibname.so:system/lib/yourlibname.so \
external/yourlibfolder/yourlibname.so:system/lib64/yourlibname.so \
- It will add app dependent libraries in AOSP. Now when you add your Pre-built apk in AOSP it will work
Create a folder in packages/app/yourappfolder and paste APK and make file there
This should be your make file
# Adding Apk as system app in AOSP
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Appname # It should be your apk name, and folder name should also be same
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .apk
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in ANDROID-NDK
- android ndk application can not run macrobenchmark?
- How to enable echo-cancellation on Android Voip App?
- libcrypto.so: error adding symbols: File in wrong format clang++: error: linker command failed with exit code 1
- Andriod phone accelerometer reading: native code vs. Android API
- python - embed python into android - using c++ to call python source files
- Troubles with linking Rust lib when compiling as shared lib for Android using NDK
- Android ANR when calling OnPause in libc.so
- Android NDK: Linker Script .ld: OVERLAY : gives ld:4: malformed number: :
- I don't know how to solve "local reference table overflow" error in android JNI
- C++: Text was not handled properly, first \r\n was not parsed
- Error when using ndk-build in android studio
- ld.exe cannot find "-ldl, -lm, -landroid, etc" on Delphi
- Android AGDE Visual Studio plug-in breakpoints not working in other threads
- Why arm64 pass params throught register x8-x17?
- What is the exactly time that JNI release the LocalReference automatically?
Related Questions in ANDROID-INSTALL-APK
- A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable
- There was a problem while parsing the package
- Size Limit of Android Application that can be installed as APK
- Extract native libs from prebuilt apk file using Android.mk
- How to run Android app or install on PlayStore if unavailable for API30?
- How to identify install application is using which certificate in android
- Apk is disappearing after moving to system parition
- App crashes on launch if installed to system partition
- App crashes when downloaded from playstore
- How to install .apk file from local storage programmatically?
- After setup app flavouring i got this ERROR "install_failed_conflicting_provider" while run the app/
- Create secondary app manager such as (facebook app manager)
- How to insert unique data into an Android APK package with each download?
- OnNewIntent is not called after PackageInstaller failure
- Android Studio stuck at installing APK, the adb sometimes fails to install the APK, and somehow Android Studio interferes with adb's install command
Related Questions in ANDROID-NATIVE-LIBRARY
- Repair PDFium crashes for old Android versions or include own library
- Flutter plugin as a binary or library
- Android App bundle install not placing native libs in the lib/$ABI folder
- Native library not found when loading
- Are plugins for Android's native Web Browser version dependent?
- Debugging C++/Native code in Android Studio doesn't work with older Android SDK API version
- Android with native library - interface a CDC usb device - can't use fd in native library
- apkanalizer - What can increase the raw file size of the native libs?
- Native Android java methods not finding any reference
- Android NDK - execute .so returning 0 but not working
- issue running "afl-fuzz -Q" with binary libraries
- How do I embed a native code library in an Android app (SDK 29+)?
- Reusable animations within Android navigation library nav graph
- I tried to run the App, But Gradle is throwing this error
- Android Accessibility
Related Questions in ANDROID-MAKE
- How to build Windows binaries such as adb.exe when building AOSP in Linux
- AOSP - how to get final contents of PRODUCT_PACKAGES while building
- AOSP 13 build variable PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD not working
- Unable to compile ramdisk with libcryptsetup in AOSP
- How to list all possible packages / modules in AOSP via command line?
- How to shrink resources and remove unused language resources with Android.mk
- Does Android.mk require AndroidManifest.xml?
- APK built using Android.mk mm command not running in device after install
- Share single copy of structure/data defined in shared library to different objects defined in multiple shared libraries
- Extract native libs from prebuilt apk file using Android.mk
- How to add an app with Android Room as a system app compiled with the makefile?
- Android Java with Native C undefined reference to `__android_log_print'
- Getting SystemProperties.java class using android:sharedUserId="android.uid.system" attributes
- android project build on Linux but not on windows
- How to add .so file in Android.mk file?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
You can find an example in AOSP, e.g. in
external/chromium-webviewproject:Android.mk(outdated): https://android.googlesource.com/platform/external/chromium-webview/+/refs/heads/android10-d4-release/Android.mkAndroid.bp: https://android.googlesource.com/platform/external/chromium-webview/+/refs/heads/master/Android.bp.Also some related topics were already discussed on SO: