当前位置:首页 » 编程软件 » android源码编译jar包

android源码编译jar包

发布时间: 2022-05-17 13:11:12

⑴ android 开发DICOM, 想要用dcmtk 怎么编译成jar

目前,比较流行的java反编译工具有近30种,其中有三款堪称精品:一、应用广泛的JAD在众多的JAVA反编译工具中,有几种非常着名的工具使用了相同的核心引擎——JAD,其中主要包括:FrontEndPlus、mDeJava、DecafePro、CavajJavaDecompiler、DJJavaDecompiler、NMI’sJavaClassViewer和国产的JAVA源代码反编译专家。JAD本身是一个命令行工具,没有图形界面,上述的这些工具大多是在JAD内核的基础之上加了一个图形界面而已。这么多种产品的共同选择,足可证明JAD在JAVA反编译领域中的尊贵地位。JAD是使用MicrosoftVisualC++开发的,运行速度非常快,可以处理很复杂的JAVA编译文件。众多的参数使JAD可以灵活应付多种加密手段,令反编译的代码更加优化和易读。由于JAD参数太多,没必要一一解释,其中有几个最常用的如下(以JAD1.5.8f版本为例):-d-用于指定输出文件的目录-s-输出文件扩展名(默认为:.jad),通常都会把输出文件扩展名直接指定为.java,以方便修改的重新编译。-8-将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。最常用的反编译指令如下所示:Jad–dc:\javasource–s.java-8javatest.class这条指令将当前目录下的javatest.class反编译为javatest.java并保存在c:\javasource目录里,其中的提示输出为中文,而不是Unicode代码。二、源码开放的JODEJODE是全球最大的开源项目网站Sourceforge.net的成员,在所有的JAVA反编译器中,JODE的反编译效果是最好的,尤其是对付一些常见的加密手段,例如混淆技术等,更是出类拔粹。JODE本身也是纯JAVA开发的,最近越来越多的JAVA反编译软件也选择JODE来做它们的核心引擎,例如JCavajJavaDecompiler、BTJ(BackToJava)、jEdit’sJavaInsightplugin等。JODE是一个可运行的JAR文件,在windows环境下双击即可运行。需要特别说明的是,JODE不是通过常规的Open->File的方式来加载JAVA编译后的类文件(*.class)或是类包(*.jar)的,而是通过在Options菜单中的SetClasspath来实现的,单独的类文件可以将它的上一级目录作为Classpath输入,然后再选择ReloadClasspath即可。新加入的类包或是类的名字会在左侧窗口出现,双击类包名可以目录树结构,双击需要反编译的类名则在右上角的窗口中直接显示反编译后的源代码。三、独树一帜的DAVADAVA不是一个独立的JAVA反编译器,而是JAVA代码优化工具Soot的一部分。Soot和JODE一样是纯JAVA开发的,也是一个独立的JAR包,但却不能通过双击直接运行,而是象JAD一样在命令行状态运行。Soot对环境变量的配置要求非常严格,通常情况下要对CLASSPATH做如下设置:SetCLASSPATH=%CLASSPATH%;c:\sootdir\sootclasses-2.1.0.jar;.;其中的c:\sootdir\是下载的soot类包放置的路径,CLASSPATH末尾的.;代表了当前目录,如果不加上这个的话Soot经常会报一个找不到类的错误。DAVA是作为Soot的一个参数使用的,通常的用法如下:Javasoot.Main–fdava–dc:\javasourcejavatest注意最后的类名不用带.class后缀,因为它默认是处理class文件,这个操作与前述的JAD的参数效果相同。DAVA采取了流程优化的方式进行反编译,与传统反编译思路不尽相同,但却对改变流程类的加密方法有独特的反编译效果。上述的三种工具各有千秋,但效果都非常不错。经测试,它们基本上都可以把JDK自带的一些例程完全反编译,然后不加任何修改可再编译成功,并能正常运行!

⑵ android开发要哪些jar

am.jar:终端下执行am命令时所需的java库。源码目录:framework/base/cmds/am
android.policy.jar:锁屏界面需要用到的jar包,该包引用了android.test.runner.jar,源码目录:framework/base/policy
android.test.runner.jar:测试应用所需的jar包,该包引用了core.jar,core-junit.ajr以及framework.jar,源码目录:framework/base/test-runner
bmgr.jar:adb shell命令下对Android Device所有package备份和恢复的操作时所需的java库。 不过这个android服务默认是Disabled,而且要backup的应用必须实现BackupAgent,在AndroidManifest.xml的application标签中加入android:backupAgent属性。源码目录:framework/base/cmds/bmgr
bouncycastle.jar: java三方的密匙库,网上资料说用来apk签名、https链接之类,官网 :http://www.bouncycastle.org/java.html
com.android.future.usb.accessory.jar:用于管理USB的上层java库,在系统编译时hardware层会调用到。源码目录:frameworks/base/libs/usb
com.android.location.provider.jar:
com.android.nfc_extras.jar:NFC外部库。android/nfc/NfcAdapter.java会调用到包中的NfcAdapterExtras.java。源码目录:frameworks/base/nfc-extras
core-junit.jar :junit核心库,在运行*Test.apk时被调用。
core-junitrunner.jar:未知,公司话机上有。
core-tests*.jar:framework下的一系列测试jar包,不做测试时可删除。
core.jar:核心库,启动桌面时首先加载这个。源码目录:
ext.jar:android外部三方扩展包,源码主要是external/nist-sip(java下的sip三方库)、external/apache-http(apache的java三方库)、external/tagsoup(符合SAX标准的HTML解析器)。其实这个jar包可以添加外部扩展jar包,只需在framework/base/Android.mk中的ext-dir添加src目录即可。
framework-res.apk:android系统资源库。
framework.jar:android的sdk中核心代码。
ime.jar:ime命令所需jar包,用于查看当前话机输入法列表、设置输入法。源码目录:framework/base/cmds/ime
input.jar:input命令所需的jar包,用于模拟按键输入。源码目录:framework/baes/cmds/input
javax.obex.jar:java蓝牙API,用于对象交换协议。源码目录:framework/base/obex
monkey.jar:执行monkey命令所需jar包。源码目录:framework/base/cmds/monkey
pm.jar:执行pm命令所需的jar包,pm详情见adb shell pm,源码目录:framework/base/cmds/pm
services.jar:话机框架层服务端的编译后jar包,配合libandroid_servers.so在话机启动时通过SystemServer以循环闭合管理的方式将各个service添加到ServiceManager中。源码目录:framework/base/service
sqlite-jdbc.jar: sqlite的Java DataBase Connextivity jar包。
svc.jar:svc命令所需jar包,可硬用来管理wifi,power和data。源码目录:framework/base/cmds/svc

⑶ android 项目如何导出带源码的jar包

用rar压缩软件都可以打开的

⑷ 怎么将jar包源码导入android studio

1、将jar包放入项目里的libs文件夹中。 2、在project选中jar包点击右键"Add as library"。 3、这两步是网上比较容易找到的,但此时项目仍然是无法正常编译的,这时需要在项目的build.gradle文件里的dependencies节加入 dependencies { compile files('libs/android-support-v4.jar') compile files('libs/xxxx.jar') } 4、此时项目正常编译并运行了,但当代码中真正创建了引用jar里的类实例时,有可能系统会抛出异常NoClassDefFoundError,这个时候可以按以下步骤操作:  进入命令提示符窗口。  定位到项目的根目录,即build.gradle所在的目录。  运行 "{android studio 安装目录}\sdk\tools\templates\gradle\wrapper\gradlew.bat" clean  重新编译运行项目 通过以上操作,应该可以解决问题

⑸ 求解答,Android源码编译时怎的添加第三方jar包

Android.mk添加第三方jar包

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES := xsocket jackson-mapper logging jackson-core javatar log4j
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := test

LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
##################################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := xsocket:lib/xSocket-2.8.14.jar \
jackson-mapper:lib/jackson-mapper-asl-1.6.2.jar \
logging:lib/commons-logging.jar \
jackson-core:lib/jackson-core-asl-1.6.2.jar \
javatar:lib/javatar-2.5.jar \
log4j:lib/log4j-1.2.15.jar
include $(BUILD_MULTI_PREBUILT)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))

以上是我的一个项目中所需要的第三方jar包,主要参考了Android源码中的Calculator应用,该应用也引用了一个第三方的jar包arity-2.1.2.jar。
需要注意的是,当你要引用的jar包不止一个时,有两个关键的地方需要注意的。
LOCAL_STATIC_JAVA_LIBRARIES := xsocket jackson-mapper logging jackson-core javatar log4j
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := xsocket:lib/xSocket-2.8.14.jar \
jackson-mapper:lib/jackson-mapper-asl-1.6.2.jar \
logging:lib/commons-logging.jar \
jackson-core:lib/jackson-core-asl-1.6.2.jar \
javatar:lib/javatar-2.5.jar \
log4j:lib/log4j-1.2.15.jar
xsocket jackson-mapper logging jackson-core javatar log4j这几个只是名字,可以随便取。LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES后面才是真正其作用的地方。如:
xsocket:lib/xSocket-2.8.14.jar 引用的是lib目录中的xSocket-2.8.14.jar。
还要注意的是 := 不要写成了+=了哦。

附:编写各种类型的Android.mk,出处我忘记了,是以前浏览是拷贝下来的。
一、编译一个简单的APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
# Tell it to build an APK
include $(BUILD_PACKAGE)
二、编译一个依赖静态.jar文件的APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# List of static libraries to include in the package
LOCAL_STATIC_JAVA_LIBRARIES := static-library
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
# Tell it to build an APK
include $(BUILD_PACKAGE)
注:LOCAL_STATIC_JAVA_LIBRARIES 后面应是你的APK程序所需要的JAVA库的JAR文件名。
三、编译一个需要platform key签名的APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
LOCAL_CERTIFICATE := platform
# Tell it to build an APK
include $(BUILD_PACKAGE)
注:LOCAL_CERTIFICATE 后面应该是签名文件的文件名
四、编译一个需要特殊vendor key签名的APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
LOCAL_CERTIFICATE := vendor/example/certs/app
# Tell it to build an APK
include $(BUILD_PACKAGE)
五、装载一个普通的第三方APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Mole name should match apk name to be installed.
LOCAL_MODULE := LocalMoleName
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
六、装载需要.so(动态库)的第三方apk
LOCAL_PATH := $(my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := input_android_v1.1_1000e
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
#################################################################
####### the library to /system/lib #########################
#################################################################
include $(CLEAR_VARS)
LOCAL_MODULE := libinputcore.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
LOCAL_SRC_FILES := lib/$(LOCAL_MODULE)
OVERRIDE_BUILD_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
include $(BUILD_PREBUILT)
七、编译一个静态java库
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Any libraries that this library depends on
LOCAL_JAVA_LIBRARIES := android.test.runner
# The name of the jar file to create
LOCAL_MODULE := sample
# Build a static jar file.
include $(BUILD_STATIC_JAVA_LIBRARY)
注:LOCAL_JAVA_LIBRARIES表示生成的java库的jar文件名。

⑹ 求android4.4 framework源码编译 classes.jar

安卓4.4_r3源码编译出来的几个jar包,包括bouncycastle_intermediates/classes.jar、core_intermediates/classes.jar、framework_intermediates/classes.jar,如果大家还有别的jar包需要,请提出,我会尽量帮大家找的。

⑺ Android中将资源文件打包进jar文件出现的问题

可以提供个lib project (http://developer.android.com/tools/projects/projects-eclipse.html)
先建个lib project,将 res 的内容拷过去,

将源码编译弄成jar包,放到lib project的libs路径下
使用者可以直接将这个lib project导入到自己的项目中

PS: 注意设置好 proguard,如果有用到的话

⑻ 如何将android源码生成eclipse可用的jar包

1.新建project
在eclipse上新建一project 选择General/Project 点击next,输入project
name:将use default
location的勾去掉后,点击下面的Browse按钮,载入android上的fmmanager源码;点击finish;
这时会发现,新建的project有红叉,不过这不影响我们;
2.生成jar包
在上一步新建的project上右键,选择export ,Java/JAR file 点击next,出现的JAR file specifivation界面, 这里呢可以将select the resources to export下的右边框勾选的项去掉,
接着,在select the export destination中指定生成的jar包的位置;点击finish;这样就生成了可用在eclipse上的jar包;
3导入jar包:

需要引用jar包的project上右键选择最下面的properties,选择Java Build Path,之后在右边的java bulid
path中选择Libraries 选择add external JARS;
找到刚才生成的jar包,完成后点击ok,这样会在当前项目下新建一Referenced Libraries 其中就包含了刚刚导入的jar包;这里
我们最好将要导入的jar包放在需要引用jar包项目目录下;

⑼ 安卓app拨号不转拨号界面怎么设置

创建一个Intent。
要实现拨号程序可能很简单,一个简单的Intent就能实现,从发出意图到真正实现拨号的代码中间还执行了很多其他方法,这都是android底层源码自动实现的,其中就包含了启动拨号的Activity。要想实现不弹出拨号界面就实现拨号,就必须绕过中间这些方法,直接调用framework层中的拨号方法。详情可以去看下别人写的android拨号流程,就可知道真正实现拨号的方法。
一开始是想通过反射调用底层方法,但是当初试过,好像不能实现,所以最后直接调用底层方法,由于android本身并未提供相关的类或方法,所以必须引用额外的jar包(将android源码编译打包成jar)。这里用的是某位大神将android2.2的部分源码编译成的jar包。

⑽ 我把android.jar包进行反编译,为什么只有方法而没有实现

1、混淆安卓自带了混淆法,具体请网络关键词:proguard,但是混淆只是加大了反编译的难度,可以这么说,即便混淆了,只要有足够的耐心,破解指日可待。2、使用linux的静态链接so库这类似于windows平台的dll库,如果使用了so库,那么这个安卓程序几乎不可能被反编译到原来的代码,所以,重要的代码可以放入so库。但是,道高一尺,魔高一丈,即便是so库,也还是会有法能破解,但是,要获得真正的源码,几乎不可能无源代码的安卓APK反编译、修改,只有你想不到,没有做不到@@724949472

热点内容
c语言负数运算 发布:2025-05-13 18:45:21 浏览:427
太空杀电脑版连接不到服务器 发布:2025-05-13 18:40:19 浏览:456
同样的配置为什么跑分不同 发布:2025-05-13 18:39:06 浏览:278
获取linuxcpu序列号 发布:2025-05-13 18:36:35 浏览:738
appleid为什么连接服务器出现问题 发布:2025-05-13 18:17:37 浏览:971
书翁怎么配置 发布:2025-05-13 18:17:36 浏览:911
云数据库mongodb 发布:2025-05-13 18:16:12 浏览:774
A7编程 发布:2025-05-13 18:15:26 浏览:742
python视图 发布:2025-05-13 18:14:01 浏览:759
win为什么干不过安卓 发布:2025-05-13 18:12:27 浏览:586