android编译自己 内置的jar做法
1.首先 android.mk
LOCAL_PATH := $(call my-dir)
# ============================================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES := java/com/xxx/xxx/xxx.java \
java/com/xxx/xxx/xxx2.java
LOCAL_NO_STANDARD_LIBRARIES := true
LOCAL_JAVA_LIBRARIES := core framework
LOCAL_MODULE_TAGS := eng
LOCAL_MODULE:= test
LOCAL_DX_FLAGS := --core-library
include $(BUILD_JAVA_LIBRARY)
# this is will add the test.xml
#===============================================================
include $(CLEAR_VARS)
LOCAL_MODULE := test.xml
LOCAL_MODULE_CLASS := ETC
# This will install the file in /system/etc/permissions
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
include $(call all-makefiles-under,$(LOCAL_PATH))
2.test.xml 内容
<permissions>
<library name="yecon" file="/system/framework/yecon190.jar"/>
</permissions>
3.makesdk.sh
#!/bin/sh
if [ -d $xxx_DIR -a -d $ANDROID4 ]; then
echo "xxx_DIR is : $xxx_DIR"
MANIFEST_FILE=$xxx_DIR/frameworks/xxx/core/MANIFEST.MF
xxxx_SRC_FILE=$ANDROID4/out/target/common/obj/JAVA_LIBRARIES/xxxxx_intermediates/classes
SDK_PATH=$ANDROID4/xxx/sdk
if [ -d $ATCJAR_FILE ];then
mkdir -p $SDK_PATH
chmod a+x $SDK_PATH
jar cvfm $SDK_PATH/yxxx.jar $MANIFEST_FILE -C $xxxx_SRC_FILE
.
chmod a+x -R $SDK_PATH
else
echo "++++No such directory: $xxxx_SRC_FILE!+++++"
fi
else
echo "xxx or Android dir not set"
echo "please run command : source ./selfenv bootmedia"
echo "e.g. source ./selfenv sd2"
fi
4.MANIFEST.MF
Manifest-Version: 1.0
Created-By: yecon
Specification-Vender: yecon
Specification-Version: 1.0.0
5.然后将 xxxx 与 xxx.xml 放入系统配置中编译 PACKAGE= XXXX \
xxxx.xml
6. 在init.rc 中增加
BOOTCLASSPATH " :/system/framework/xxxx.jar "
7.应用或者其它jar中调用
LOCAL_STATIC_JAVA_LIBRARIES := xxxxx
或者
LOCAL_JAVA_LIBRARIES := xxxxx
android编译自己 内置的jar做法的更多相关文章
- 在Eclipse+ADT中开发Android系统的内置应用
转自: http://www.iteye.com/topic/1050439 在Eclipse+ADT中开发Android系统的内置应用 Android系统内置有:Browser(浏览器).Mms( ...
- 在Android中访问内置SE和基于SE的卡模拟(一)
2013-10-10 编写 前言 在“十问Android NFC手机上的卡模拟”文中仅仅简单的介绍了一下相关的概念,如果需要了解基于SE的卡模拟的更多细节,也就是,究竟在Android的NFC手机上, ...
- Android开发中内置apk程序
首先申明,这里的方法介绍是针对我司自己项目中的具体开发板而做的. Mg701内置APK有三种方式 一. 这种方法必须要自己编写Android.mk文件(关于Android.mk可以参考 ...
- 探讨Android中的内置浏览器和Chrome
1.Android默认浏览器和Chrome的区别 Android出厂自带的浏览器:安卓WebKit浏览器,也成内置浏览器或者默认浏览器. 安卓WebKit不是Chrome.Chrome浏览器在它的用户 ...
- Android 操作手机内置存储卡中的文件
场景:需要读取指定文件的内容,此文件是手动存储到手机内置存储卡中的,且手机上不存在SD卡. 对于android通过activity提供的openFileOutput和openFileInput可以直接 ...
- android webview 添加内置对象
package com.android.EBrowser; import android.app.Activity;import android.graphics.Rect;import androi ...
- 存储、读取——Android应用程序内置的文件夹
1.将数据存储到应用程序的文件夹,并读写 Context提供了两个方法,打开应用程序文件夹的I/O,若文件不存在则创建 FileInputStream openFileInputStream(Stri ...
- 【原创+亲测可用】JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器
1.原理: 通过不同移动端的ua弹窗 获取user-agent 参数包含的信息,进行判断浏览器类型 在Android上 QQ内置环境的ua中有关键字 MQQBrowser, 并且后面包含一个[空白符+ ...
- 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)
使用了很多onclick事件,但是在Android的微信内置浏览器中,onclick是不能被执行的. 开始的写法是: // $(".contentPic").click(funct ...
随机推荐
- 《Swift Programming Language 》——Swift中怎样使用继承(Inheritance)
一个类能够继承(inherit)还有一个类的方法(methods),属性(property)和其他特性.当一个类继承其他类时,继承类叫子类(subclass),被继承类叫超类(或父类,supercla ...
- 编写高质量代码改善java程序的151个建议——[52-57]String !about String How to use them?
原创地址: http://www.cnblogs.com/Alandre/ (泥沙砖瓦浆木匠),须要转载的,保留下! Thanks Although the world is full of s ...
- uva 11732 - strcmp() Anyone? 不错的Trie题
题解:http://blog.csdn.net/u013480600/article/details/23122503 我的代码一直TLE,,,看了人家的之后,认为1.链式前向星比較好,2.*dept ...
- 猿取向的规划设计模式 ——GoF《设计模式》阅读摘要(零)
这个话题是很奇怪,设计模式是引导程序的设计不是模仿什么软件?呃.我的意思是,这是 面"对象"相对的设计模式. 我曾见过有人写<给妻子解释设计模式>,这样的把计算机中的思 ...
- WebBrowser脚本错误的完美解决方案
原文:WebBrowser脚本错误的完美解决方案 当IE浏览器遇到脚本错误时浏览器,左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框.当我们使用WebBrowse ...
- RPC 的概念模型与实现解析(转)
今天分布式应用.云计算.微服务大行其道,作为其技术基石之一的 RPC 你了解多少?一篇 RPC 的技术总结文章,数了下 5k+ 字,略长,可能也不适合休闲的碎片化时间阅读,可以先收藏抽空再细读:) 全 ...
- c++ anonymous namespace -- 匿名空间
c++ anonymous namespace -- 匿名空间 匿名空间,匿名类,匿名联合体,匿名结构体. 匿名空间 #include <stdio.h> namespace A ...
- Swift - 将表格UITableView滚动条移动到底部
有时我们需要通过代码自动将表格UITableView滚动条移动到尾部,只需要使用scrollToRowAtIndexPath方法即可,代码如下: 1 2 3 4 5 var secon = 1 //最 ...
- 一个跨平台的 C++ 内存泄漏检测器
2004 年 3 月 01 日 内存泄漏对于C/C++程序员来说也可以算作是个永恒的话题了吧.在Windows下,MFC的一个很有用的功能就是能在程序运行结束时报告是否发生了内存泄漏.在Linux下, ...
- 王垠:Lisp 已死,Lisp 万岁!
王垠:Lisp 已死,Lisp 万岁!_IT新闻_博客园 王垠:Lisp 已死,Lisp 万岁!