Android静态jar库
如何编译static jar library:
include $(CLEAR_VARS)
LOCAL_MODULE := android-common
LOCAL_SDK_VERSION := 8
LOCAL_SRC_FILES := \
$(call all-java-files-under, java) \
$(call all-logtags-files-under, java)
include $(BUILD_STATIC_JAVA_LIBRARY)
与编译package等结构大致相同,不同之处是使用"BUILD_STATIC_JAVA_LIBRARY",生成的jar文件不会copy到/system/framework/下面,
只会临时存在于../out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/目录下.
如何使用jar library.
LOCAL_STATIC_JAVA_LIBRARIES := \
android-common \
guava
LOCAL_SRC_FILES := \
$(call all-java-files-under, src) \
src/com/android/browser/EventLogTags.logtags
LOCAL_PACKAGE_NAME := Browser
在Android.mk中引入android build system的LOCAL_STATIC_JAVA_LIBRARIES变量,并给其赋值为:android-common。
如此以来,编译后的apk 或jar中就引入了所有的class文件,有点像C语言中的静态库文件(*.a)
====================================================================================================================
ScrollView 中嵌套带滑动,滚动的view时touch事件冲突解决方案
子view中:
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_MOVE) {
scrollView.requestDisallowInterceptTouchEvent(true);
}
return false;
}
====================================================================================================================
sdk 下载api报错,被墙无法下载
1. 修改host文件,在最后添加一行映射:
74.125.237.1 dl-ssl.google.com
note: if is windows xp system, u can find host file here: C:\WINDOWS\system32\drivers\etc
======================================================================================================
1.1.进入<Android_Source_Path>/build/target/product/security,找到【platform.pk8】和【platform.x509.pem】系统密钥。
1.2.进入<Android_Source_Path>/build/tools/signapk找到SignApk.java,运行javac编译成SignApk.class
1.3.执行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk
至此,完成。
在运行第三步的命令前,请在你当前的工作目录下新建如下结构的文件夹:com.android.signapk,然后将第二步编译生成的SignApk放入该目录下。或者也可以将SignApk.java的package声明删除后再运行javac编译。
命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk
不单可以对apk文件进行重签名,也可以对所有的zip文件进行重签名,包括ROM文件。