android模塊編譯錯誤
我的2.1 源碼里沒有 yvup2abgr8888_venum((UINT8*) inptr0,
(UINT8*) inptr2,
(UINT8*) inptr1,
(UINT8*) outptr,
cinfo->output_width);
你的是如個版本的,不是venum,是yvup2abgr8888_venum 是一個函數,Android.mk 應該有問題。1) 含有函數yvup2abgr8888_venum 的c沒有編,2)少了引用的庫文件
bmlunlock模塊的Android.mk 貼上來看看
❷ android編譯錯誤: styles.xml: no resource found that matches the given name 'xxx'.
item name="xxx" 其中這個xxx可不是自己隨便亂取的名字,舉個例子:<item name="android:windowNoTitle">true</item> 這個android:windowNoTitle就是表示是否顯示標題,一般都是用android自帶的,當然也可以自定義,自定義的xxx必須要用這個東西才行,LZ報的錯表示沒有這個資源,LZ再好好檢查一下吧
❸ 新人求教,編譯一個最簡單的Android程序,提示下面的錯誤咋解決
1、32位系統下的編譯
如果需要在32位系統中編譯android系統,在編譯前需要對部分makefile進行修改
首先修改build/core/main.mk,修改的內容如下所示:
-ifneq (64,$(findstring 64,$(build_arch)))
+ifneq
(i686,$(findstring i686,$(build_arch)))
$(warning
************************************************************) $(warning You are attempting to build on a 32-bit system.)
$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
其次修改如下四個文件:
external/clearsilver/cgi/Android.mk
external/clearsilver/java-jni/Android.mk
external/clearsilver/util/Android.mk
external/clearsilver/cs/Android.mk # This forces a 64-bit build for Java6
-LOCAL_CFLAGS += -m64
-LOCAL_LDFLAGS += -m64
+LOCAL_CFLAGS += -m32
+LOCAL_LDFLAGS += -m32即將LOCAL_CFLAGS和LOCAL_LDFLAGS由-m64改為-m32,從而指定使用32位系統進行編譯如果使用 64bit 的操作系統編譯,這些就都不用修改,但記得需要安裝:For 64-bit servers the following extra packages may be needed:
"sudo apt-get install libc6-dev-i386" (libc6-dev-amd64 if AMD CPU)
"sudo apt-get install g++-multilib lib32ncurses5-dev lib32z1-dev"
還有 jdk64bit 的版本編譯2 、build/core/base_rules.mk:128:*** frameworks/opt/emoji/jni:
.... libgl2jni already defined by framwworks/base/opengl/tests/gl2_jni/jni 停止
從編譯規則上看:
# Make sure that this IS_HOST/CLASS/MODULE combination is unique.
mole_id := MODULE.$(if \
$(LOCAL_IS_HOST_MODULE),HOST,TARGET).$(LOCAL_MODULE_CLASS).$(LOCAL_MODULE)
ifdef $(mole_id)
$(error $(LOCAL_PATH): $(mole_id) already defined by $($(mole_id)))
endif
在framwworks/base/opengl/tests/gl2_jni/下面定義的android.mk定義了:
LOCAL_MODULE := libgl2jni
include $(BUILD_SHARED_LIBRARY)
導致生成的動態庫重復,這是不對的,修改tests這個目錄不參與編譯即可,最直接的辦法刪除掉framwworks/base/opengl/tests/gl2_jni這個文件夾
3、AIDL 編譯報couldn't find import for class原因
「AIDL服務只支持有限的數據類型,因此,如果用AIDL服 務傳遞一些復雜的數據就需要做更一步處理。AIDL服務支持的數據類型如下:
Java的簡單類 型(int、char、boolean等)。不需要導入(import)。String和 CharSequence。不需要導入(import)。
List和 Map。但要注意,List和Map對象的元素類型必須是AIDL服務支持的數據類型。不需要導入(import)。AIDL自動生成 的介面。需要導入(import)。
實現 android.os.Parcelable介面的類。需要導入(import)。
其中後兩種數據類 型需要使用import進行導入,傳遞不需要 import的數據類型的值的方式相同。傳遞一個需要import的數據類型的值(例如,實現android.os.Parcelable 介面的類)的步 驟略顯復雜。除了要建立一個實現android.os.Parcelable介面的類外,還需要為這個類單獨建立一個aidl文件,並使用parcelable關鍵字進行定義。」
沒有加LOCAL_AIDL_INCLUDES += xxx ,所以找不到我的parcelable aidl文件。
修改android源碼根目錄下的build/core/pathmap.mk把你的目錄加進去,此時再make update-api
4、老是提示 @Override錯誤 方法未覆蓋其父類的方法
使 用JDK1.6編譯沒有問題,使用JDK1.5編譯,會報@Override方法未覆蓋其父類的方法。實際上這個方法是類實現的介面中方法,
但是,這個語 法的jdk1.6的下面是可以通過的,也就是說jdk1.6認為類覆蓋父類方法與實現介面方法都叫override,而jdk1.5不
是這樣認為的,不知 道這是當初jdk1.5的bug,還是當初就是認為覆蓋父類方法與實現介面方法是不一樣的,不得而知。但是從
OO角度來看,覆蓋父類方法與實現介面方法都 可以認為override,因為他們目的都是一樣的,都是為了重用,都是多態的一種
表現方式。
更改jdk版本為1.6即可
5、編譯alsa-lib庫錯誤
android系統開發移植alsa-lib庫的過程中編譯的時候出現了如下的錯誤
/tmp/cckyaR40.s: Assembler messages:
/tmp/cckyaR40.s:2763: Error: selected processor does not support `mrs ip,cpsr'
/tmp/cckyaR40.s:2764: Error: unshifted register required -- `orr r2,ip,#128'
/tmp/cckyaR40.s:2765: Error: selected processor does not support `msr cpsr_c,r2
字面的意思報的是匯編錯誤,選擇的處理器不支持mrs和msr指令。
原來的ARM指令有32位和16位兩種指令模式,16位為thumb指令集,thumb指令集編譯出的代碼佔用空間小,
而且效率也高,所以android的arm編譯器默認用的是thumb模式編譯,問題在於alsa的代碼中有部分的內容
❹ android源碼編譯錯誤,求指點: out/target/proct/generic/obj/lib/libcamera.so', needed by
在生成libcamera.so庫文件的Android.mk中即~/device/sumsumg/libcamera中,去掉其中的ifneq和ifeq條件即可編譯生成libcamera.so
❺ 編譯android4.4源碼出現的錯誤,有沒有大神知道的
你好,看了你的問題,建議先檢查下external/wpa_supplicant_8/wpa_supplicant/src/drivers/drivers.mk是否存在。然後可能是系統內存不足引起的。
編譯源碼是個坎坷的過程,可以參考下面的文章,對過程中的各個問題都講的很詳細。看了還有什麼問題,歡迎留言。希望能夠幫到你。
祝你的問題早日得到解決!
文章地址:http://blog.csdn.net/mc_hust/article/details/34537143
❻ 編譯Android源碼時出現這個錯誤,請問怎麼解決,跪謝~~~
可以搜索「:=libv8」 ,在其所在的路徑下更新代碼並編譯,通過後再回到你現在所在的目錄編譯。
❼ Android Studio編譯出錯
這個問題一般是你在app的build.gradle文件中的依賴庫 選項,重復依賴了某些lib庫
解決辦法如下:
找到重復依賴的lib,刪除該依賴的引用
嘗試在 app 的build.gradle目錄下 加入
defaultConfig {
multiDexEnabled true
}如果還不奏效嘗試在app的build.gradle目錄下加入
packagingOptions {
exclude 'META-INF/NOTICE' // will not include NOTICE file
exclude 'META-INF/LICENSE' // will not include LICENSE file
// as noted by @Vishnuvathsan you may also need to include
// variations on the file name. It depends on your dependencies.
// Some other common variations on notice and license file names
exclude 'META-INF/notice'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license'
exclude 'META-INF/license.txt'
}
❽ Android8.0源碼編譯錯誤求助:"libxxx" depends on undefined mole "libxxx"
error: system/core/init/Android.bp:166:1: "libinit" depends on undefined mole "libinit_s2"
12:55:00 soong bootstrap failed with: exit status 1
解決了嗎?我也遇到了
❾ Android Studio 編譯出錯,求助,萬分
Execution failed for task ':TestAndroid:compileDebug'.
有各種各樣原因,具體就請自己進cmd編譯看什麼地方出錯
進入項目的gradle文件所在目錄打
gradlew compileDebug --stacktrace
來追蹤就可以啦~
昨天編譯的時候出現了問題,具體問題具體解決!
Gradle:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':TestAndroid:compileDebug'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not execute build using Gradle installation 'C:\gradle-1.6'.
首先進入命令行
進入項目根目錄(grale文件所在目錄)
輸入命令
gradlew compileDebug --stacktrace
查看錯誤位置:
錯誤如下
=================================================================
C:\Users\Administrator\AndroidStudioProjects\TestAndroid\TestAndroid\src\main\ja
va\com\example\testandroid\MainActivity.java:125: 警告:編碼 GBK 的不可映射字元
//淇濆瓨褰撳墠璁$畻緇撴灉錛屼笅嬈℃墦寮?仮澶?
SharedPreferences settings = getSharedPreferences(PROFILE_
NAME,Activity.MODE_PRIVATE);
^
C:\Users\Administrator\AndroidStudioProjects\TestAndroid\TestAndroid\src\main\ja
va\com\example\testandroid\MainActivity.java:125: 警告:編碼 GBK 的不可映射字元
//淇濆瓨褰撳墠璁$畻緇撴灉錛屼笅嬈℃墦寮?仮澶?
SharedPreferences settings = getSharedPreferences(PROFILE_
NAME,Activity.MODE_PRIVATE);
^
C:\Users\Administrator\AndroidStudioProjects\TestAndroid\TestAndroid\src\main\ja
va\com\example\testandroid\MainActivity.java:126: 找不到符號
符號: 變數 settings
SharedPreferences.Editor editor = settings.edit();
^
1 錯誤
:TestAndroid:compileDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':TestAndroid:compileDebug'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':TestAnd
roid:compileDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex
ecuteActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex
ecute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExec
uter.execute(.java:35)
at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskE
xecuter$1.run(.java:35)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(Def
aultCacheAccess.java:179)
=======================================================
因循錯誤應該是編碼問題
125行用了中文注釋
因為Gradle默認編譯採用了GBK,但是java文件中的注釋中文用UTF-8
所以有問題
設置Gradle的編譯編碼即可:
具體方法
打開項目結構
structure
打開gradle文件
加入
//設置編碼
tasks.withType(Compile) {
options.encoding = "UTF-8"
}
然後再次運行命令行查看有錯不
如果不行檢查自己的java文件編碼
換成UTF-8
再編譯 OK通過!
❿ 在編譯android內核的時候出現下面的錯誤,是怎麼回事
解決方案:找到工程中Makefile文件,將其中 「-m64" 字元串刪除即可。
原因:gcc 3.4 或者更高版本,已經將其去除了,所以會出現上面的錯誤!
去android源代碼網站找樓主編譯android版本的對應GCC,安裝後重新編譯