Android---apk打包libs自動刪除第三方so問題解決(armeabi/armeabi-v7a等多平臺so)
開發工具eclipse,如果是as,則不存在這樣的問題。
在引用第三方so時,常常會碰到一個問題:
編譯之後,libs中的第三方so被刪除掉了,導致程式無法執行,而且第三方so是多個平臺(armeabi/armeabi-v7a等等)的,這個問題如何解決?
首先在jni目錄下,新建一個prebuilt資料夾,當然也可以是別的名字。prebuilt用來存放各個平臺的第三方so,這裡以armeabi/armeabi-v7a兩個平臺為例:
然後,在jni層,prebuilt外的Android.mk中新增:
注意:include $(CLEAR_VARS) LOCAL_MODULE := XXX LOCAL_SRC_FILES := prebuilt/$(TARGET_ARCH_ABI)/libXXX.so include $(PREBUILT_SHARED_LIBRARY)
LOCAL_SRC_FILES := prebuilt/$(TARGET_ARCH_ABI)/libXXX.so
這一句解決了prebuilt中不同平臺問題如果寫為
LOCAL_SRC_FILES := prebuilt/libXXX.so
那麼,prebuilt資料夾下,只能放一個so
相關推薦
Android---apk打包libs自動刪除第三方so問題解決(armeabi/armeabi-v7a等多平臺so)
開發工具eclipse,如果是as,則不存在這樣的問題。在引用第三方so時,常常會碰到一個問題:編譯之後,libs中的第三方so被刪除掉了,導致程式無法執行,而且第三方so是多個平臺(armeabi/armeabi-v7a等等)的,這個問題如何解決?首先在jni目錄下,新建一
Android apk打包命名規則
摘要:前言在日常的開發過程中,許多剛入行的開發者在apk打包命名、應用迭代版本的檔案留存管理上都比較混亂——產生這些問題的原因無外乎以下兩種:一是之前沒有相關的操作經驗、頭尾不能兼顧;一是公司沒有制定對應的規範、無有效參照範例。當然,所謂的規範在業內不會存在唯一的標準與格式(對於規範的理解,
安全程式設計之Android APK打包程式碼混淆
第一步:在專案工程目錄下的proguard-rules.pro檔案中配置自定義的混淆規則 #注意: #1.引用外部的jar包 如果不是自己寫的最好不混淆它們,因為外部jar包有可能已經混淆過 #2.不要混淆XML佈局中使用的自定義控制元件類,混淆後加載佈局會報找不到該控制
(轉)android Apk打包過程概述_android是如何打包apk的
最近看了老羅分析android資源管理和apk打包流程的部落格,參考其他一些資料,做了一下整理,脫離繁瑣的打包細節和資料結構,從整體上概述了apk打包的整個流程。 流程概述: 1、打包資原始檔,生成R.java檔案 2、處理aidl檔案,生成相應java
Android APK打包流程
概述 今天主要講一下Android程式的生成步驟,即Android打包成APK的流程。 通常情況下,在開發過程中打包APK是一件很簡單的事,主要可以通過兩種方式:一種是用Eclipse或者Android Studio整合開發環境直接生成APK;另一種是使用Ant\Gl
Android APK打包安裝、應用程序啟動過程、Activity啟動流程
目錄 一、Android APK的構建過程 通過IDE可以生成可以在android裝置中安裝的apk檔案,Google官方提供的構建APK的過程流程圖如下: 打包APK流程總結如下: AAPT(Android Asset Packaging Tool)工
Android Apk打包原理
打包資原始檔,生成R.java檔案 打包資原始檔的工具是aapt(The Android Asset Packing Tool),位於android-sdk/platform-tools目錄下。 在這個過程中,專案中的AndroidManifest.xml檔案和佈局檔案xml都會編譯生成相應的R.ja
android Apk打包過程概述_android是如何打包apk的
最近看了老羅分析android資源管理和apk打包流程的部落格,參考其他一些資料,做了一下整理,脫離繁瑣的打包細節和資料結構,從整體上概述了apk打包的整個流程。流程概述:1、打包資原始檔,生成R.java檔案2、處理aidl檔案,生成相應java 檔案3、編譯工程原始碼,生成相應class 檔案4、轉換所有
【已驗證】android studio 打包報 MissingTranslation 的3種解決方式
Android studio打包生成android apk的時候遇到了編譯問題,明明沒有想要做英文翻譯,但是AS生成apk的時候自己走了translate in english的路線。幾個string.xml檔案報錯 string value is not translate
ubuntu 13.10 android ia32-libs 不能安裝解決方法
這有篇文章: http://askubuntu.com/questions/147400/problems-with-eclipse-and-android-sdk 上面的 1. If you are using Debian Jessie (or Ubuntu
vs clean或rebuild時自動刪除dll的解決方法
The bin folder is just the binary output from a build, so when you clean your solution, all the assemblies in
android Jni編譯多平臺so庫
前兩天換了個x64晶片的手機,發現公司APP在上面閃退,原因是找不上x64的庫 首先我吧預設的so庫賦值到目錄arm64-v8a 重新開啟,報錯原因是改庫非64位的庫 然後我打開了以前的JNI開發專案,搜尋相關解決方案,最終找到解決方案。 開啟JnI目錄下的Applicat
Android多渠道打包與360加固apk並自動簽名
一.場景 應用需要接入統計服務,瞭解應用在不同應用市場的表現時,分發到不同應用市場的apk需要一個渠道名區分不同應用市場。這時就需要打多個不同的包,每個包對應一個渠道名, 即對應一個應用市場。 二.多渠道打包實踐(以友盟統計為例) 1.Gradle方式 (1)在And
cocos2dx 命令建立各平臺工程,並自動打包Android apk的方法
轉自:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/How_to_create_a_multi-platform_project_in_one_command_line How to create a multi-pla
Android Studio --自動刪除沒有用的資源,給APK減減肥
有時候我們新增的一些資源,如圖片和一些沒用的程式碼,以及在新增第三方庫的時候我們只需要使用其中的一部分功能和一部分資源,那麼這個時候如果靠我們手工去怕是非常難做的,尤其是專案大的時候,Android 團隊工程師Tor Norbye ,在2014年11月1日
Android Studio打包APK後動態庫so檔案被改動
本人專案中遇到一個非常奇葩的問題,百思不得其解。 問題是這樣的: 由於專案是將C/C++層的程式碼與java程式碼分開管理的,所以C/C++程式碼沒有放進AS裡,編譯時將在linux下編譯好的動態庫直接放進AS工程的jniLibs下再打包生成APK。問題來了。 AS 打包A
Android Studio Gradle 多渠道自動打包,動態修改HostUrl,簽名apk,混淆配置詳解
文/ skay 最近遇到專案從Eclispe遷移到Android studio,以前的Ant自動打包指令碼已經相容不好了,所以用了Gradle實現打渠道包,切換環境等, Ant打包指令碼 <target name="-release-sign"
自動刪除Laya釋出微信小遊戲的時候自動打包的libs資料夾
討厭釋出微信小遊戲的時候自動打包的libs資料夾 問題 每次用Laya釋出到微信小遊戲上的時候,會自動打包libs資料夾,而這個資料夾正式上傳的時候是可以刪除的,本身在微信開發者工具上執行也可以刪除。但是,我沒找到LayaAir哪裡可以設定不釋出li
Eclipse下配置Ant指令碼 自動打包帶簽名的Android apk
雖然eclipse很少用了,但是在古老的專案上還是會用到。一個麻煩事是打帶簽名包的時候,非常不方便。下邊紀錄下配置ant,自動打包帶簽名apk的過程,作為備忘。(PC環境為MAC)1,第一步得安ant,下載對應安裝包,解壓後配置環境變數:export ANT_HOME="/U
Android Studio 打包生成 APK
如果 sign ext 對話 http ner 分享 技術 oid 1. 第一步 Build -> Generate Signed APK 2. 之後會要求開發者輸入相關的密鑰文件和密碼 如果有則找到對應的 .jks 文件輸入密碼完成相應操作,否則則創建一個對