Showing posts with label android_build_system. Show all posts
Showing posts with label android_build_system. Show all posts

Thursday, November 17, 2011

maguro tuna

新的build system裡
有maruro まぐろ  tuna  つな
其實還有toro とろ 但還沒放上AOSP

都在這有說明
https://groups.google.com/group/android-building/browse_thread/thread/ab34b1144a96bcd8

Tuesday, November 15, 2011

LOCAL_DEX_PREOPT

今天抓了Icecream 的AOSP
然後隨便build一個apk
發現apk竟然不能裝
INSTALL_FAILED_DEXOPT

發現apk裡的classes.dex不見了
跑到外面來變odex

看了一下build system的code
原來是新的要加上 LOCAL_DEX_PREOPT := false
他才不會幫你作pre-dexopt的動作

Monday, April 25, 2011

override system ld dirs

在mydroid build時
有時會需要link device上的library
(這方法有待商確 畢竟在compile時還是用AOSP上的header file 但至少目前出來的binary可以在device上link)
而需要改變-L的location, 不要讓他去link device的system/lib

在看了android build system裡的code之後
發現可以使用 TARGET_GLOBAL_LD_DIRS 這個var
也就是在自己的Android.mk裡
最後加上下面這行override掉他

TARGET_GLOBAL_LD_DIRS:=-L$(path to the device library)

Friday, April 22, 2011

Argument list too long

最近在Android build code 時會遇到
Argument list too long的問題

後來發現在android build system有個patch了
http://goo.gl/hCv3A


這個問題的背後
在這裡有說
http://goo.gl/LAGrR
http://goo.gl/D30Wq

Wednesday, March 9, 2011

softlink for Android build system

最近試著在mydroid裡 某個folder下用softlink 指到mydroid外的folder
而發現mydroid一直找不到我的這個softlink指的地方
看了看build/底下的code

最後原來是
http://android.git.kernel.org/?p=platform/build.git;a=blob;f=tools/findleaves.py;h=0adf188f9bb5b1e8ced951795cbc8bafdd43cfaf;hb=HEAD#l31

裡的os.walk() default是沒有follow softlink的
http://docs.python.org/library/os.html#os.walk

所以把原本裡的os.walk(rootdir)改成
os.walk(rootdir, TRUE, NONE, TRUE) 就好了

Monday, July 5, 2010

add prebuild lib in apk under mydroid

在mydroid build中
有個LOCAL_JNI_SHARED_LIBRARY可以指定自己的jni

但是這前提是這jni lib也是在某個LOCAL_MODULE中編出來的

如果想直接把這lib包進apk中
看了看build/core/package.mk

可以使用下面的:
$(shell cp $(wildcard $(LOCAL_PATH)/libs/armeabi/*.so) $(TARGET_OUT_INTERMEDIATE_LIBRARIES))

LOCAL_JNI_SHARED_LIBRARIES:= your_prebuild_lib

Thursday, May 20, 2010

使用TARGET_GLOBAL_LD_DIRS

在這個hack裡
http://go2.wordpress.com/?id=725X1342&site=xorl.wordpress.com&url=http%3A%2F%2Fwww.frasunek.com%2Fproto_ops.tgz&sref=http%3A%2F%2Fxorl.wordpress.com%2F2009%2F08%2F18%2Fcve-2009-2692-linux-kernel-proto_ops-null-pointer-dereference%2F

用了TARGET_GLOBAL_LD_DIRS
來用自己的linker script

Thursday, May 6, 2010

android build system

在combo/linux-arm.mk
default 是 build for  armv5te

另外在這makefile裡還有很多compiler flags

會找到這是因為要試試LOCAL_NO_DEFAULT_COMPILER_FLAGS=true
不然compile都會先找framework裡的header (無奈)

Monday, November 2, 2009

LOCAL_SDK_VERSION

在Android.mk裡
發現了一個
LOCAL_SDK_VERSION

這是在ApiDemos裡的Android.mk看到的
如果加了                 
LOCAL_SDK_VERSION := current
就會讓你用sdk的android.jar來編
也就是一些hide的api就不能用了