android编译自己 内置的jar做法

时间:2021-11-09 16:11:39

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做法的更多相关文章

  1. 在Eclipse&plus;ADT中开发Android系统的内置应用

    转自:  http://www.iteye.com/topic/1050439 在Eclipse+ADT中开发Android系统的内置应用 Android系统内置有:Browser(浏览器).Mms( ...

  2. 在Android中访问内置SE和基于SE的卡模拟(一)

    2013-10-10 编写 前言 在“十问Android NFC手机上的卡模拟”文中仅仅简单的介绍了一下相关的概念,如果需要了解基于SE的卡模拟的更多细节,也就是,究竟在Android的NFC手机上, ...

  3. Android开发中内置apk程序

    首先申明,这里的方法介绍是针对我司自己项目中的具体开发板而做的. Mg701内置APK有三种方式 一.         这种方法必须要自己编写Android.mk文件(关于Android.mk可以参考 ...

  4. 探讨Android中的内置浏览器和Chrome

    1.Android默认浏览器和Chrome的区别 Android出厂自带的浏览器:安卓WebKit浏览器,也成内置浏览器或者默认浏览器. 安卓WebKit不是Chrome.Chrome浏览器在它的用户 ...

  5. Android 操作手机内置存储卡中的文件

    场景:需要读取指定文件的内容,此文件是手动存储到手机内置存储卡中的,且手机上不存在SD卡. 对于android通过activity提供的openFileOutput和openFileInput可以直接 ...

  6. android webview 添加内置对象

    package com.android.EBrowser; import android.app.Activity;import android.graphics.Rect;import androi ...

  7. 存储、读取——Android应用程序内置的文件夹

    1.将数据存储到应用程序的文件夹,并读写 Context提供了两个方法,打开应用程序文件夹的I/O,若文件不存在则创建 FileInputStream openFileInputStream(Stri ...

  8. 【原创&plus;亲测可用】JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器

    1.原理: 通过不同移动端的ua弹窗 获取user-agent 参数包含的信息,进行判断浏览器类型 在Android上 QQ内置环境的ua中有关键字 MQQBrowser, 并且后面包含一个[空白符+ ...

  9. 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)

    使用了很多onclick事件,但是在Android的微信内置浏览器中,onclick是不能被执行的. 开始的写法是: // $(".contentPic").click(funct ...

随机推荐

  1. ubuntu下设置开机启动服务

    原文:http://blog.csdn.net/dante_k7/article/details/7213151 在ubuntu10.04之前的版本都是使用chkconfig来进行管理,而在之后的版本 ...

  2. 在unity3d中使用opencv

    1.首先下载opencv2.4.10,解压缩后放在合适的地方,然后根据自己的电脑(32位或64位)选择X86或X64,我的是32位,将“opencv存放路径\build\x86\vc12\bin”加入 ...

  3. unity button

    #pragma strict var buttonTexture:Texture2D; private var str:String; private var frameTime:int; funct ...

  4. &lpar;转载&rpar;java常见的ClassNotFoundException

    1 - java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory   添加包common-logging.jar2 ...

  5. 宏HASH&lowbar;DELETE

    HASH_DELETE(buf_page_t, hash, buf_pool->page_hash, fold, bpage); NAME 可理解为 void* next /********** ...

  6. (转)ThinkPHP系统常量

    __ROOT__ : 网站根目录地址 __APP__ : 当前项目(入口文件)地址 __URL__ : 当前模块地址 __ACTION__ : 当前操作地址 __SELF__ : 当前 URL 地址 ...

  7. 【NOIP2002】矩形覆盖 DFS

    首先,我喜欢愤怒搜索,因为尽管说K<=4,的确K小于或等于3的. 当然某些K<=3还600ms的我就不加评论了. 好吧,可是怎么搜呢?我们考虑到矩形数量非常少,所以能够怒搜矩形. 一些神做 ...

  8. MVC源码解析 - HttpRuntime解析

    先看一张图, 从这张图里, 能看到请求是如何从CLR进入HttpRuntime的. 一.AppManagerAppDomainFactory 看到这张图是从 AppManagerAppDomainFa ...

  9. docker 容器 详解

    docker run  ## 创建一个新容器 [root@localhost ~]# docker run --help Usage: docker run [OPTIONS] IMAGE [COMM ...

  10. 在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在&sol;etc&sol;sysconfig&sol;iptables文件。

    原因:在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件. 解决办法: .随便写一条iptables命令配 ...