1. 程式人生 > >解決android libcore區域性編譯時`out/target/common/obj/JAVA_LIBRARIES/sqlite-jdbc_intermediates/javalib.jar'

解決android libcore區域性編譯時`out/target/common/obj/JAVA_LIBRARIES/sqlite-jdbc_intermediates/javalib.jar'

在最近的工作中,對libcore/下的檔案進行了修改,編譯時遇到了如下錯誤:

make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/sqlite-jdbc_intermediates/javalib.jar', 
needed by `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/classes-full-debug.jar'.  Stop.

以往的解決方案很暴力,都是直接將整個原始碼進行一次重新編譯,也可以通過,不過這種做法很沒有工程師精神,

於是將libcore下的Android.mk檔案進行了梳理,發現與JAVA_LIBRARIES以及sqlite同時相關的編譯語句是用於測試的,

現在並不需要測試,其中一部分語句如下:

ifeq ($(LIBCORE_SKIP_TESTS),)
# Make the core-tests library.
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(test_src_files)
LOCAL_JAVA_RESOURCE_DIRS := $(test_resource_dirs)
LOCAL_NO_STANDARD_LIBRARIES := true
LOCAL_JAVA_LIBRARIES := core-libart okhttp core-junit bouncycastle
LOCAL_STATIC_JAVA_LIBRARIES := core-tests-support sqlite-jdbc mockwebserver nist-pkix-tests
LOCAL_JAVACFLAGS := $(local_javac_flags)
LOCAL_MODULE := core-tests
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/JavaLibrary.mk
include $(BUILD_STATIC_JAVA_LIBRARY)
endif

於是在libcore\JavaLibraby.mk檔案的開頭加入了一句export LIBCORE_SKIP_TESTS := false

加入位置摘抄:

 The Java files and their associated resources.
common_core_src_files := $(call all-main-java-files-under,dalvik dex dom json luni xml)
core_resource_dirs := $(call all-core-resource-dirs,main)
test_resource_dirs := $(call all-core-resource-dirs,test)
test_src_files := $(call all-test-java-files-under,dalvik dom harmony-tests json luni xml)


# ///*** 修改在這裡
export LIBCORE_SKIP_TESTS := false
# ///*** 修改完畢


ifeq ($(EMMA_INSTRUMENT),true)
ifneq ($(EMMA_INSTRUMENT_STATIC),true)

再次mmm libcore,編譯成功!

相關推薦

解決android libcore區域性編譯`out/target/common/obj/JAVA_LIBRARIES/sqlite-jdbc_intermediates/javalib.jar'

在最近的工作中,對libcore/下的檔案進行了修改,編譯時遇到了如下錯誤: make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/sqlite-jdbc_intermediates/

Android6.0編譯out目錄下檔案無法自動生成問題解決方案

Android6.0編譯時需要使用openjdk7編譯,然後伺服器上還有別的專案需要使用openjdk6進行編譯,於是在編譯時就出現了一些問題 Installing recovery patch to

android源碼編譯拷貝替換指定文件

android cau value 定制 部分 get android源碼 oal first 由於要做版本定制,某些版本的資源文件等(例如style.xml)需要不同的配置,但是android的編譯開關無法在xml裏使用,於是想到了編譯時根據不同的編譯開關編譯不同的文件,

解決Android加載圖片內存溢出的問題

decodeStream盡量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource來設置一張大圖,因為這些函數在完成decode後,最終都是通過java層的createBitmap來完成的,需要消耗更多內存。 因此,改用先通過Bitm

解決Android更新安裝包不能自動安裝的問題

  一,安裝程式碼 private void installUseAS(String filePath) { File file = new File(filePath); Uri uri = Uri.fromFile(file);

解決Android首次啟動APP,顯示空白頁或者黑屏時間長的問題

問題描述: 第一次啟動app(冷啟動,如果不明白冷啟動和熱啟動的話,可以百度一下),會出現白屏或者黑屏,而且當代碼量增多的時候,出現的時間很長。這樣的使用者體驗多不好。下面我寫了一個小例子,先模擬一下該問題的效果圖,以及解決問題後的效果圖。處理前有空白頁如圖1,

解決QT使用mysql編譯不能連線資料庫的問題

有時後執行程式可以連線到資料庫,而原始碼編譯後卻不能 這是因為qt在編譯時缺乏了一個dll 解決方法: 把mysql\lib裡的libmysql.dll移到qt相應目錄,如: Qt\Qt5.5.

解決Android Studio執行編譯時間久的最有效方案

使用Android Studio 2.1 編譯一個APK , 每次都要10分鐘以上,實驗各種方案無效! 在網上查找了各種解決辦法,帖子最多的就是在gradle.properties 裡新增 org.gradle.jvmargs=-Xmx2048m (記憶體需

快速解決Android Studio 匯入專案gradle版本不相容問題

當匯入別人的專案太慢,原因是gradle版本不一致,這時android studio自動下載匹配的gradle版本導致長時間下載的問題。原因主要還是:這個下載地址是國外的,需要翻牆,否則會特別慢。 1.一般下載下來的專案都有這些資料夾,在匯入專案之前,首先

Android Studio 設定專案Module編碼,解決Android Studio專案執行亂碼問題

Android Studio的專案設定邏輯與Eclipse有很大的區別,執行的操作為File->Setting->File Encodings然後來進行設定,如圖所示: 開啟module的 build.gradle 檔案修改編譯器使用的編碼,經過上面的設定,只

解決Android Studio新增依賴出現“Manifest merger failed”錯誤

今天在使用GitHub上面的開源專案SweetAlertDialog時,出現Android Studio匯入第三方依賴庫時報錯,出現這個: 所匯入的依賴為這個 於是多管閒事的我試著匯入了下,也出錯了,不過沒出現上面截圖的錯誤,而出現Manifest merge

解決Android Studio開啟檔案錯誤:Your project path contains non-ASCII characters

Android Studio 開啟檔案時出現如下錯誤資訊: Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail

解決使用NDK進行編譯出現undefined reference to function的問題

之前在編譯jni時出現了undefined reference to function這個問題,查閱相關資料說是可能連結的庫問題,然後通過各種gcc調整順序解決了這個問題。這個工程是導師的工程,工程在Linux環境下執行無誤,我從Linux環境往Android

解決Android Studio新建專案不停download問題

立flag:最後一次臨陣搭環境! 電腦關鍵時刻掉鏈子是真的難受,紀念為了上課檢查作業一大早起來蹭“飛速”校園網重灌Android Studio 剛安裝Android Studio時,第一次新建專案非常慢,始終停留在Gradle:download https://...

解決eclipse匯出war包漏掉自定義的使用者庫中的jar

問題描述:在用eclipse開發Java web專案過程中,我們需要很多的jar包,如spring,hibernate等。  我們怎麼載入和使用這些jar包呢? 通常有兩種方式: 1、把相應的jar包直接貼上在 WEB-INF/lib下,這樣在開發過程和匯出為war包時都能

Intellij Idea Maven工程編譯無法關聯lib資料夾中的第三方jar包,執行時報錯找不到類

[問題描述]  將lib資料夾或者資料夾中jar包新增到依賴中,執行的時候仍然找不到jar包中的class。 [解決思路] 將lib資料夾中的jar安裝到本地maven倉庫中,修改pom.xml檔案新增jar依賴。 [解決步驟] [1] maven安裝jar包的命令如下:

Android之——使用Android studio建立的AIDL編譯找不到自定義類的解決辦法

使用AS建立ADIL檔案時AS會在main資料夾下給我們生成一個aidl資料夾和一個相同包名的包,通常我們會把所有和ADIL相關的類或檔案放在這個包下,但是如果存在自定義的類時,程式編譯時無法通過,提示找不到自定義的包。解決辦法如下,在啟動Module的build.gra

gradle設定代理(解決Android編譯下載的jar包下載不了的問題)

    在使用react-native時,有時某些元件會需要下載第三方的jar包,由於國內原因總是下載不了,可以配置gradle設定代理 我用我自己伺服器的代理,需要配置android/gradle.properties檔案, 在檔案中增加如下程式碼: systemPro

解決Android 原始碼編譯“audio_processing_impl”,報錯“fatal error: list: No such file or directory”問題

我的系統是Linux Mint 17,使用的平臺是Tiny4412,編譯的是友善之臂提供的Android 4.2.2 原始碼。之前編譯沒有問題,今天編譯時,報出這個錯誤,查遍 百度/Google 都沒解決,後來發現是我之前手賤多配置了一個環境變數 NDK_ROOT 導致的問

關於android studio編譯下載更新檔案錯誤解決方法總結

最近計劃用android studio設計一個android程式,開啟後確發現編譯總是報錯,上網找了很多辦法,其中說的最多的是關於下載更新gradle的,這裡稍微提一下: android studio更新gradle常常需要翻牆,可以直接到http://services.gradle.org