使用NDK編譯含JNI的Android項目常見問題解決方案

來源:互聯網
上載者:User

標籤:

有時候,自己下載的或者拷貝過來的JNI項目出現莫名錯誤,通常是找不到標頭檔,可能解決方案如下: Removing the C nature:

The only way I could find to reliably removed the C nature from the project was by hand editing Eclipse‘s .project file for the project.

  1. Close the Eclipse project (e.g. by quitting Eclipse).

  2. Open the .project file in a text or xml editor. There will be at least 2 <buildCommand> nodes that need to be removed. Remove the <buildCommand> node with name org.eclipse.cdt.managedbuilder.core.genmakebuilder and all its children, and the <buildCommand> node with name org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilderand its children. Finally, remove the lines:

    <nature>org.eclipse.cdt.core.cnature</nature> <nature>org.eclipse.cdt.core.ccnature</nature> <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>

  3. Completely remove the .cproject file.

Adding back the Android Native nature

Reopen the project in Eclipse. Then right-click on the project in the Project Explorer, and from the "Android Tools" contextual menu, choose "Add Native Support...".

參考:http://stackoverflow.com/questions/23122934/eclipse-adt-unresolved-inclusion-jni-h Android JNI項目提示“Unresolved inclusion: <jni.h>”可能的其他解決方案:
  1. Paths and Symbols中路徑不正確,考慮修改Android.MK檔案內容,比如增加空行等(注意Android檔案中不需要有LOCAL_C_INCLUDES欄位 ,系統會根據LOCAL_SRC_FILES自動添加需要的標頭檔,否則標頭檔將出現二義性),重新編譯一次項目,Android.MK檔案中LOCAL_SRC_FILES所依賴的標頭檔將會在Project Properties -> C/C++ General -> Paths and Symbols中被自動添加;
  2. string.h、jni.h等C標頭檔“Unresolved inclusion”,考慮: NDK Project -> New -> Folder -> Advanced -> Link to alternate location(Linked Folder),添加:D:\ADT\android-ndk-r9d\platforms\android-18\arch-arm\usr\include;
  3. 考慮:properties--->C/C++ General,關閉Code Analysis功能,解決大部分錯誤;

使用NDK編譯含JNI的Android項目常見問題解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.