小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

[z]看來真不能直接將.so文件直接添加到Android的JAR包了

 techres 2012-02-16

看來真不能直接將.so文件直接添加到Android的JAR包了

如果直接在一個JAR中的/libs/armeabi下放個XXX.SO文件,然后導(dǎo)出成JAR包的后,如A.JAR,

在一個Android的程序中引用這個A.JAR,那么編譯的時候就會出現(xiàn)一下的錯誤:

The library 'A.jar' contains native libraries that will not run on the device.
The following libraries were found:
- libs/armeabi/libXXX.so

  網(wǎng)上搜素索了下,還是沒有找到解決方法。

只能采用如下的方式:

1.像科大訊飛那樣(/Msc/assets/lib/msc.jet:文件前4個字節(jié)為:.ELF,而且文件末尾可以看到類是JNI的函數(shù)

直接將.SO文件改個擴(kuò)展名,然后放到assert中,導(dǎo)出到JAR中,然后在啟動的時候/或者首次被調(diào)用的時候?qū)⑵淇截惖?/p>

調(diào)用程序的目錄下,手動加載SO庫文件

2.就是直接將JAR中的.SO文件放到目標(biāo)程序的/libs/armeabi下,即可。

(以上提到的.SO文件都是針對ARM架構(gòu)的,如果是x86的,注意將上文中的相應(yīng)目錄修改成/libs/x86/目錄即可)

 

總之:Android將某個工程打成JAR包的時候,最好只包括源代碼,另外就是可以包含一些文件,如assert或者自己定義的一些文件個數(shù),

但不要保護(hù)資源文件(/res下所有文件內(nèi)容都不要放在JAR包中)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多