1樓:08物理
(1)老版本,方法如下:
task copynativelibs(type: copy)
into new file(builddir, 'native-libs')
tasks.withtype(compile)
clean.dependson 'cleancopynativelibs'
pkgtask.jnidir new file(builddir, 'native-libs')
(2)新版本三種方法:
(2.1)打包前先生成.jar檔案後自動解包到apk檔案
task nativelibstojar(type: zip, description: 'create a jar archive of the native libs') {
destinationdir file("$builddir/native-libs")
basename 'native-libs'
extension 'jar'
from filetree(dir: 'libs', include: '**/*.so')
into 'lib/'
tasks.withtype(compile) {
compiletask -> compiletask.dependson(nativelibstojar)
下面一句話就是打包生成目錄(build\native-libs)中的.jar檔案
compile filetree(dir: "$builddir/native-libs", include: 'native-libs.jar')
(2.2)手動生成.jar檔案後自動解包到apk檔案
這個方式需要自己手動進行.so檔案壓縮,具體步驟為:將所有需要使用的.
so檔案壓縮為.zip檔案(zip中的檔案目錄結構為: lib/armeabi/*.
so)然後把zip檔案字尾改為.jar然後放到libs生成apk就ok
預設就是自動打包所有.jar檔案:
dependencies {
compile filetree(dir: 'libs', include: '*.jar')
(2.3)這也就是現在正在使用的方式(推薦) ,其實無非就是把.so檔案打包到apk的lib資料夾中,假如仔細閱讀了gradle的使用方法,自然就知道其實gradle官方在新版已經自動實現了打包.
so檔案的.很簡單級就是在配置的android節點下加入下面的內容就ok:
sourcesets {
main {
jnilibs.srcdirs = ['libs']
其他地方無需修改,整個專案的配置檔案如下:
android {
compilesdkversion 19
buildtoolsversion "19.0.0"
defaultconfig {
minsdkversion 16
targetsdkversion 19
versioncode 1
versionname "1.0"
buildtypes {
release {
runproguard false
proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.txt'
sourcesets {
main {
jnilibs.srcdirs = ['libs']
dependencies {
compile filetree(dir: 'libs', include: ['*.jar'])
如何在window上用,如何在window上用ios app
你先要用虛擬機器裝完蘋果系統 具體參照威鋒網x86論壇 然後再裝xcode即可 電腦上怎麼執行ios app軟體?windows7系統的電腦 擴充套件資料開啟swf檔案 2 然後,在搜尋的結果中點選開啟帶有官網字樣的qq影音官方 4 之後,開啟安裝好的qq影音軟體,點選開啟檔案的按鈕。5 最後,在電...
如何在電視上看戲?任何在小公尺,如何在電視上看戲?
以後您如果再遇到類似的問題,可以按照下面的思路去解決 1 發現問題 往往生活在世界中,時時刻刻都處在這各種各樣的矛盾中,當某些矛盾放映到意識中時,個體才發現他是個問題,並要求設法去解決它。這就是發現問題的階段。從問題的解決的階段性看,這是第一階段,是解決問題的前提。2 分析問題 要解決所發現的問題,...
如何在maven中新增jar包,如何在maven中新增本地jar包
步驟先建立乙個基於maven的專案,點選開啟pom.xml檔案 點選dependencies標籤頁,然後點選dependencies中的內add按鈕,輸 入我們想新增的容jar包名字,就會出現下圖中所示,它會把對應名稱的所有版本jar包列出來 點選ok之後,在pom.xml會帶回jar包的資訊,ty...