1. 程式人生 > >android studio使用jni ndk會出現的問題

android studio使用jni ndk會出現的問題

當我們在開發時需要用到包含本地方法的庫時,需要用ndk,會出現下列問題

1.可能會出現找不到ndk:

Error:Execution failed for task ':serialPortLibrary:compileReleaseNdk'.
> Error: Your project contains C++ files but it is not using a supported native build system.
Consider using CMake or ndk-build integration with the stable Android Gradle plugin:
 https://developer.android.com/studio/projects/add-native-code.html
or use the experimental plugin:
 http://tools.android.com/tech-docs/new-build-system/gradle-experimental.

解決辦法:在專案的gradle.properties檔案中加入這句

android.useDeprecatedNdk=true

2.加入上面一句時還可能報下列錯誤

Error:Execution failed for task ':serialPortLibrary:compileReleaseNdk'.
> com.android.ide.common.process.ProcessException: Error while executing 'E:\\ndk\\android-ndk-r10d\\android-ndk-r10d\\ndk-build.cmd' with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=F:\\androidstudioworkspace\\LearnTones\\serialPortLibrary\\build\\intermediates\\ndk\\release\\Android.mk APP_PLATFORM=android-19 NDK_OUT=F:\\androidstudioworkspace\\LearnTones\\serialPortLibrary\\build\\intermediates\\ndk\\release\\obj NDK_LIBS_OUT=F:\\androidstudioworkspace\\LearnTones\\serialPortLibrary\\build\\intermediates\\ndk\\release\\lib APP_ABI=all}

解決方法:在你匯入的包含jni的庫的build.gradle檔案中加入這句

sourceSets.main {
    jni.srcDirs = []
}
注意是在android{  ...  }之間加即...的地方加,問題就可以解決了,自己踩過的坑,希望可以幫到你

相關推薦

android studio使用jni ndk出現的問題

當我們在開發時需要用到包含本地方法的庫時,需要用ndk,會出現下列問題 1.可能會出現找不到ndk: Error:Execution failed for task ':serialPortLibrary:compileReleaseNdk'. > Error: Yo

vue+webpack專案在iOS微信端偶爾出現白屏,重新整理又能重新進入的解決方案,在Android上不出現

           問題描述:微信公眾號內部的專案,我使用的是vue+webpack的方式,路徑配置正確的情況下,在Chrome上執行正常,執行npm run build放在測試伺服器上,配置好相應入口,通過微信訪問,在Android機

Androidndk編譯出現這個錯誤error: unused variable 'a' [-Werror=unused-variable]

1、問題 在jni裡面就加了一行程式碼 編譯的時候出現這個錯誤 error: unused variable 'a' [-Werror=unused-variable] 2、解決辦法 找到相應的Ma

canvas 繪圖Android環境下 出現重影 即出現兩個

解決方案: canvas外層的元素 需要設定style屬性; 其值為"overflow:visible;-webkit-transform: translateZ(0);"這樣就可以了, 我試了下去掉-webkit-transform: translateZ(0);也是

Android在手機的通知欄裡出現“XXX正在執行,觸控即可瞭解詳情或停止應用”的訊息如何處理

手機上莫名顯示我們的app,“XXX正在執行,觸控即可瞭解詳情或停止應用”,我去,這不是讓使用者知道我們在後臺偷偷運行了,什麼情況?排查後發現是如下程式碼導致: startForeground(111,

ionic開發的app在Android中正常,在iOS中就不正常出現下來跟著下來的情況

 這個問題找了好久才解決,解決的方法很簡單檢查config.xml中 這個是不是設定了false,小小的問題影響還是很大的。 <preference name="DisallowOverscroll" value="true" />

Android 錯誤 :TextView中屬性ellipsize的 值為start、middle可能出現錯誤

錯誤摘要如下: Java.lang.ArrayIndexOutOfBoundsException: length=*; index=-1 at android.text.StaticLayout.c

Android應用載入佈局的時候有時候出現重疊佈局或者重疊元件--動態控制組件的顯示或者隱藏

Android應用載入佈局的時候有時候會出現重疊佈局或者重疊元件的情況,比如一箱專案中開屏頁之後可能會載入一個動畫(VideoView),在有網路或者是後臺返回廣告(圖片ImageView)的時候就需要進行動態控制組件的顯示或者隱藏,首先我們需要明確一些引數設定效果:基本概念

android webview cookie 同步時有時候出現同步不成功的問題解決

這個問題不是隨時重現,我們在同步之前會先刪除所有之前的cookies,呼叫:if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP /*&& method != null*/){cookieMa

android Run模式也出現"Waiting for debugger"的解決方法

    出現“waiting for debugger”視窗是在debug模式下執行出現的。但是,今天我在run模式下也出現了此視窗,並且一直如此。解除安裝程式重新執行也是如此。android真機在脫離電腦的情況下,會一直死在“waiting for debugger”的。

Android 監聽按鍵資訊的時候出現兩次響應的解決辦法

最近的專案裡面要監聽軟鍵盤的Enter的按鍵資訊,如下圖,需要在上一行按Enter的時候自動切換到下一行,以此類推。 但是有時候會出現點選一次,響應兩次的現象,也就是按一次Enter換兩行,經過半天

Android中RecyclerView用法,一步一步教你如何使用RecyclerView以及帶你走過編碼中可能出現的坑~

首先,要明白RecyclerView是做什麼的?其次是為什麼要用RecyclerView?這裡牽扯到RecyclerView和ListView的區別,這裡不廢話,大家自行百度即可! 以下示例我用的Android API 29 ,啟用了AndroidX。 第一步,新增依賴 建立一個新的工程,在app/build

a標簽 可能出現的bug

ref 當前頁 屬性 定位問題 實現 use 位置 你會 nload 在項目中a標簽遇到過的問題 發現問題:a標簽包裝的按鈕, 如果這個按鈕在頁面滾動後出現,你點擊後,頁面會定位到滾動以前的位置,但是我並不想要這種效果。 分析問題並嘗試: 一開始以為是光標定位問題,用doc

異常的數字拋出,為什麽出現錯誤?(未解決)

為什麽 class a light divide true vid main catch blog #include <iostream> using namespace std; class A { public: A(int a, int b) {

老男孩教育每日一題-2017年5月9日-vim命令粘貼帶#號或註釋信息格式出現混亂情況怎麽辦

vim/vi粘貼 每日一題 格式混亂 1.題目老男孩教育每日一題-2017年5月9日-vim編輯器使用知識點:vim命令粘貼帶#號或註釋信息格式會出現混亂情況,有什麽方法進行解決?問題說明:每次復制代碼時,如果代碼裏有 //或# 這樣的註釋就容易讓格式亂掉,顯示的內容不整齊,並不是所期望的顯示格式

mysql互為主從的環境,更新一條語句同時提交,為什麽出現數據不一致?

mysql互為主從的環境 更新一條語句同時提交 為什麽會出現數據不一致? mysql互為主從的環境,更新一條語句同時提交,為什麽會出現數據不一致?m1:begin;update t1 set c2=‘b1‘ where c1=2;commit;m2:begin;update t1 set c2=‘

Java調用存儲過程,隨著按鈕點擊增多,調用存儲過程也增多,出現超時問題

audit delegate public stack ktr urn exe trac ive 剛開始代碼是這樣的直接通過jpa連接,剛開始點擊調用存儲過程的按鈕,沒啥問題,等點擊多了就會沒反應:日誌報數據庫連接超時: public String execute(Enti

Android jni/ndk編程三:native訪問java

efi pan exp exc save protect uil arm 註冊方法 一.訪問靜態字段 Java層的field和method,不管它是public,還是package、private和protected,從 JNI都可以訪問到,Java面向語言的封裝性不見了。

[轉]Android Studio啟動時出現unable to access android sdk add-on list

上大 ras server tails dea tar ext ida 錯誤信息 轉載請標明出處:http://blog.csdn.net/xx326664162/article/details/50563122 文章出自:薛瑄的博客 你也可以查看我的其他同類文章,也會讓你

掛載硬盤出錯;或者是在執行格式化分區的時候也出現的問題解決

centos7/dev/sdb1 is apparently in use by the system; will not make a 文件系統 here!格式化磁盤分區報錯[[email protected]/* */ ~]# mke2fs -t ext4 /dev/sdb1mke2fs 1.