Android第五課 編譯錯誤分析

來源:互聯網
上載者:User

標籤:建立項目   http   編譯器   .cpp   building   unknown   錯誤   rop   支援   

1)Error 1C/C++ Problem
問題
 DescriptionDescription Resource Path Location Type
 make.exe: *** [obj/local/armeabi-v7a/libtest.so] Error 1C/C++ Problem
解決
    通過Eclipse無法定位到相關的錯誤資訊,因此進入項目的jni目錄,執行ndk-build指令,列印出詳細的錯誤細節。根本原因是沒有實現一個純虛函數的介面

2)Type jint could not be resolved
原因
    沒有匯入NDK標頭檔 
 
原因
    在Android工程開啟.cpp檔案編輯的時候,也會自動調用Java編譯器對當前代碼進行編譯,因此Java編譯器肯定無法正常編譯C++代碼,導致了問題的出現

解決
    編譯工程的時候,當前的Eclipse編輯介面不能是.c或者.cpp檔案,必須是.java或者.h檔案。操作如下,切換到.java檔案,然後刪除所有的錯誤資訊,這樣子就可以順利編譯通過,實際上Jni模組都是調用ndk-build進行編譯的
 
3)cannot be resolved or is not a field
問題
DescriptionResourcePathLocationType
bt_mycity cannot be resolved or is not a fieldChangeCityActivity.java
原因
    該變數沒有在布局檔案xml中定義。雙擊錯誤,然後跳轉到錯誤頁面,按下Ctrl,滑鼠點擊變數發現無法跳轉到變數定義的布局檔案,正常情況下如果有定義,是可以正常跳轉的
解決
    在布局檔案中添加該變數的定義。如果該布局頁面沒有被實際使用到,可以直接刪除該錯誤,通知編譯器忽略該錯誤,就可以順利編譯,不妨礙正常安裝
注意
    忽略錯誤資訊,在跳轉到該頁面的時候,可能會出現崩潰
 
4)Unable to resolve target 'android-23'
編譯項目出錯如下:
Description      Resource Path Location   Type
The project was not built since its buildpath is incomplete. Cannot find the class file for java.lang.Object. Fix thebuild path then try building this project                        
Description      Resource Path Location   Type
Unable to resolve target 'android-23'                   Unknown Android Target Problem
Description      Resource Path Location   Type
error: No resource identifier found forattribute 'letterSpacing' in package 'android'  

原因
    目標裝置是Android 6.0, 需要使用的API為23,查看Project Properties中Android選項,查看到當前只有Android 4.4.2的版本API 19,所以需要更新SDK

5)appcompat_v7的作用以及編譯錯誤
現象:
    ADT環境版本v22.6.2-1085508,建立一個項目的時候,都會建立一個appcompat_v7,如果建立多個
新的項目,還會出現appcompat_v7_1等,依次遞增。

原因:
appcompat_v7是google的一個相容包,就是一個支援庫,能讓2.1以上的Android SDK使用4.0版本的介面。通俗來說就是你手機Android版本SDK是2.1,通過添加這個庫(這個庫將會打包進apk),能夠顯示4.0版本的超炫畫面。


問題:
建立一個新的項目出錯如下:
The container 'Android Dependencies' references non existing library \appcompat_v7_5\bin
\appcompat_v7_5.jar'

解決方案:
點擊Project,選擇Clean,選擇Clean All Project,單獨選擇建立的新項目不行。然後就可以編譯運行.

當然,如果目標裝置是4.0以上的版本,完全不用appcompat,可以直接在建立項目的時候,將Minimum Required SDK版本選擇在4.0以上,就不會建立appcompat這個包了。

參考:http://jingyan.baidu.com/article/3ea51489e04eb852e61bbaa4.html


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.