国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Eclipse NDK遷移到Android Studio的方法示例

2019-10-22 18:13:57
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近看一個(gè)NDK項(xiàng)目,因?yàn)樵创a使用Eclipse IDE寫(xiě)的,想把代碼導(dǎo)入Android Studio使用,畢竟好用很多,使用AS導(dǎo)入后,第一個(gè)問(wèn)題就是編碼問(wèn)題,項(xiàng)目之前竟然使用的是GBK編碼。首先就是改變編碼問(wèn)題。我先在設(shè)置中將項(xiàng)目編碼改為UTF-8,build結(jié)果顯示一堆錯(cuò)誤的亂碼,在網(wǎng)上逛了一圈,找到解決方案。

編碼

  1. 將AS右下角的UTF-8換成GBK。
  2. 跳出提示選擇"reload",此時(shí)注釋之類(lèi)的亂碼會(huì)顯示正確。
  3. 右下角再選擇UTF-8
  4. 跳出提示選擇"convert",此時(shí)編碼從GBK轉(zhuǎn)為UTF-8。
  5. 編譯運(yùn)行,就不會(huì)出現(xiàn)亂碼錯(cuò)誤了。
  6. 別的亂碼的類(lèi)也是這種方法

NDK支持

將項(xiàng)目導(dǎo)入之后,build有提示錯(cuò)誤:

Error: Flag android.useDeprecatedNdk is no longer supported and will be removed in the next version of Android Studio.  Please switch to a supported build system.
  Consider using CMake or ndk-build integration. For more information 

我們把gradle.properties中android.useDeprecatedNdk=true去掉。然后直接在AS右鍵Linked C++ Project.選擇cmake或者ndk build的方式鏈接。

  1. cmake: 選擇CMakeLists.txt文件
  2. NDK build: 選擇Android.mk文件

或者你也可以在你的module中加入

externalNativeBuild {  ndkBuild {   path 'src/main/jni/Android.mk'  } }

無(wú)法導(dǎo)入

ndk支持后,現(xiàn)在運(yùn)行項(xiàng)目,項(xiàng)目可以啟動(dòng)了,可是運(yùn)行直接崩潰,崩潰日志為:

java.lang.UnsatisfiedLinkError: Couldn't load xxx from loader dalvik.system.PathClassLoader

看樣子是無(wú)法加載庫(kù),在module中加入:

sourceSets {  main {   jniLibs.srcDirs = ['libs']  } }

然后在defaultConfig中加入:

ndk {   moduleName "your ndk module name"   abiFilters "armeabi", "armeabi-v7a", "x86"  }

找不到方法

java.lang.UnsatisfiedLinkError: No implementation found for int xxxxx

大概意思是so庫(kù)加載成功了,但是java調(diào)用對(duì)應(yīng)函數(shù)時(shí),找不到對(duì)應(yīng)的c++函數(shù).

遇到這種情況,不要懷疑,sdk提供的包一定要把包名完整拷貝到項(xiàng)目。路徑要與so函數(shù)相對(duì)應(yīng)。

text relocations

java.lang.UnsatisfiedLinkError...xxx.so has text relocations

把targetSdkVersion降級(jí)到22就可以了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開(kāi)發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 舒城县| 陇西县| 车致| 清涧县| 修水县| 穆棱市| 青河县| 富顺县| 仲巴县| 闻喜县| 汪清县| 东乌珠穆沁旗| 泸定县| 西贡区| 中山市| 禹州市| 怀柔区| 石棉县| 通榆县| 新乡市| 大兴区| 油尖旺区| 广灵县| 界首市| 确山县| 甘洛县| 平阴县| 辉县市| 山西省| 大冶市| 兴隆县| 尖扎县| 佛坪县| 安徽省| 北票市| 巩义市| 临湘市| 安宁市| 新蔡县| 瑞昌市| 大埔区|