`
MyEyeOfJava
  • 浏览: 1159680 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:71427
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

[android]android工程引用第三方jar提示找不到相关class的解决方法

阅读更多
使用第三方jar包

步骤:

方法1:Eclipse下,
右键工程,
Build path,
java build path,选择libraries
在右边的按钮中点击“Add Library”
选择“User library”,点击“下一步”
点击“User librarys”按钮
在出现的界面中点击“New..”按钮
在弹出的界面中随便起一个名字,点击“确定”
点击“Add jars”按钮选择第三方jar包,点击“确定”完成。
后面的步骤很重要,如果不进行后面的操作。在Eclipse里显示编译通过,不会有错误,但在模拟器或真机上运行的时候可能就会出现java.lang.noclassdeffounderror之类的错误:
1、在Android项目根目录下新建一个libs文件夹;
2、把你需要的导入的第三方Jar包复制进这个目录;
3、在libs目录上点右键,选Bulid path  –> Use as source folder。

方法2,android源码环境下,

1,将out/target/common/obj/JAVA_LIBRARIES/powersave_intermediates下的classess.jar文件放在自己的工程目录下。out/target/product/ventana/system/framework目录下的jar包用以下方法经验证是不好使的,因为他已经打成dex文件了,在工程里引用其包是不行的;

2,修改android.mk文件,如下:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_STATIC_JAVA_LIBRARIES := libpowerjar libpowersave

LOCAL_PACKAGE_NAME := testPowerjar

LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)
##############################################
include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libpowerjar:classes.jar libpowersave:testlily.jar
include $(BUILD_MULTI_PREBUILT)

# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))


解释:LOCAL_STATIC_JAVA_LIBRARIES := libpowerjar和LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libpowerjar:classes.jar其实libarity是个名字可以随便取,两个属性的值要一样就好了,但是后面那个冒号里面就一定要写你的jar包名,你的jar包一定放在工程的根目录就好了。我这里是使用两个jar包的例子。

3,源码目录下编译即可:# mmm package/app/testPowerjar,如果出错提示说找不到jar包所打的package,那么请#touch classes.jar 即可.


生成jar包:

方法1:Eclipse下,
1. 创建java 或android project;
2. 工程属性java build path->Libraries中加入android.jar
3. package explorer中右键点击工程,export java->jar file.

方法2:Android源码环境下

1,修改Android.mk文件,

LOCAL_PATH:= $(call my-dir)
# the library
# ============================================================
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := powersave.java           
LOCAL_MODULE := powersave

include $(BUILD_JAVA_LIBRARY)

# additionally, build unit tests in a separate .apk
include $(call all-makefiles-under,$(LOCAL_PATH))

2,编译 # mmm powersave(自己的模块)

其中,BUILD_JAVA_LIBRARY代表生成jar包,包的位置放在out/target/product/ventana/system/framework和out/target/common/obj/JAVA_LIBRARIES/powersave_intermediates(自己的模块)下,
分享到:
评论

相关推荐

    android 混淆 去除第三方jar

    本文将深入探讨如何在Android项目中进行混淆,并特别关注如何处理第三方jar包。 首先,了解混淆的基本概念。混淆是通过重命名类、方法和变量,将其转化为简短的无意义名称,以增加逆向工程的难度。Android Studio...

    Android将Activity打成jar包供第三方调用

    本知识点主要探讨如何将Android的Activity打包成jar包,并介绍如何在第三方项目中调用这个jar包内的Activity。 首先,让我们了解jar包在Android开发中的角色。Java Archive(jar)是一种文件格式,用于聚合大量的...

    android导入第三方jar包报错 如何正确导入jar包

    下面将详细介绍如何正确地导入和使用第三方jar包,并针对描述中的错误进行分析和解决。 首先,我们需要理解Android项目结构的变化对jar包管理的影响。在早期的Android开发环境中(例如ADT版本17之前),我们通常会...

    Android_Location_V1.3.0.jar

    5. **第三方库冲突**:可能存在与其他定位服务库的冲突,例如Google Play Services的FusedLocationProviderClient。在使用多个定位服务库时,需要注意适当地管理和协调它们,避免冲突。 6. **更新SDK**:如果`...

    android使用JAIN jar包实现SIP协议栈

    - 将下载的JAIN SIP Stack for Android的jar包添加到Android项目的libs目录下,并在项目中引用。 - 需要注意的是,在实际使用过程中可能会遇到某些类或方法不可用的问题,例如`SipFactory`中的`setPathName()`和`...

    android 混淆出错 Can't process class 解决办法

    特别是第三方库的类,可能需要特别处理。 8. **混淆规则冲突**:检查你的混淆规则,可能存在互相矛盾的规则,导致混淆失败。确保每个规则的优先级和覆盖范围清晰。 9. **ProGuard版本问题**:有时候,问题可能是...

    abe.jar工具,解决Don't know how to process version 5

    解决这个问题通常需要升级Abe.jar到最新版本,或者查找是否有兼容性补丁或第三方修改版可以处理这种版本。 对于标签"android jar",它指的是Android开发过程中常用的Android SDK的jar文件。Android.jar包含了一系列...

    在Android源码中编译出指定jar包的操作

    本篇将详细讲解如何在Android源码中编译指定的jar包,并介绍如何在应用程序中引用第三方jar包。 首先,针对标题和描述中的问题,我们关注的是在`vendor/letv/frameworks/base/java`目录下的源码编译成`framework-...

    含有用户界面的JAR制作及其在Android项目中的使用

    3. 将JAR转换为AAR:通过第三方工具或构建脚本,将JAR文件转换为AAR格式,使其可以直接在Android Studio中作为依赖项引入。 在实际开发中,需要注意兼容性问题,因为不是所有JAR中的库都能在Android环境下正常工作...

    android 隐藏api jar包,api 30

    如果遇到需要使用隐藏API的情况,开发者应该先检查是否有替代的公开API或第三方库可以满足需求。 8. **测试和适配**: 使用隐藏API的应用程序在不同设备和Android版本上的表现可能不一致,因此需要进行广泛的测试...

    android中邮箱开发需要的jar包(mail.jar,additionnal.jar,activation.jar)

    开发者可能需要找到适用于Android的特定版本或使用第三方封装库,如Android Studio中的`androidx.core.mail`。 - **权限设置**: 发送邮件需要网络权限,因此在AndroidManifest.xml中必须添加`<uses-permission ...

    android-support-multidex.jar.zip

    在Android应用开发中,由于Dalvik和ART虚拟机对单个Dex文件的方法数限制(65536个),当项目日益庞大,引入大量第三方库时,很容易超出这个限制。为了解决这个问题,Android提供了`android-support-multidex.jar`...

    android-support-multidex.jar

    然而,对于大型应用或包含大量第三方库的应用,很容易就突破这个限制。为了应对这一挑战,Google发布了Multidex支持库,使得开发者可以创建包含多个Dex文件的应用,每个Dex文件都可以存储一部分方法,从而规避方法数...

    Android 反编译工具 dex2jar

    这对于调试、安全审计、学习第三方库的实现或者修复兼容性问题等非常有用。 ### 二、工作原理 `.dex`文件是Android运行时环境Dalvik虚拟机执行的格式。`dex2jar`首先解析`.dex`文件结构,然后将Dalvik字节码转换为...

    Android-Java代码解析class文件

    - 使用Android Profiler或第三方性能监控工具结合class文件分析,提升性能。 6. **注解处理**: - class文件也包含注解信息,通过APT(Annotation Processing Tool)或Kotlin的KAPT,可以在编译期间对注解进行...

    Android10编译Launcher3所需jar包.zip

    7. **Third-party Libraries**: 为了实现特定功能,开发者可能会引入第三方库,比如动画库、网络库、日志库等,这些都会以`jar`形式存在于编译依赖中。 8. **Android NDK**: 对于涉及原生C/C++代码的部分,NDK允许...

    Android Studio混淆导出jar

    有些第三方库可能已经进行了混淆,我们需要确保它们的混淆规则与我们的应用兼容。此外,对于需要保持的注解或者接口,也需要添加对应的混淆规则。 完成混淆规则的设置后,我们可以开始在Android Studio中导出混淆后...

    Ubuntu下make jar包

    在Ubuntu操作系统中构建一个包含第三方jar包的Android工程涉及到多个步骤,主要涵盖了Java开发环境的配置、Android SDK和NDK的安装、项目构建工具的使用以及最终的打包过程。这里我们将详细探讨这些知识点。 首先,...

    android BASE64的jar包

    不过,这个jar包可以作为一个第三方依赖,帮助我们在Android项目中实现BASE64解码。 要使用这个jar包,首先需要将其添加到项目的libs目录下,并在构建过程中将其打包到APK中。在Java代码中,你可以如下使用`BASE64...

    IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法

    通过以上步骤,你应该能够解决“decompiled.class file bytecode version:52.0(java 8)”的错误,成功引入第三方jar包并查看源码。记住,保持良好的编程习惯和及时更新工具是避免这类问题的关键。如果你仍然遇到困难...

Global site tag (gtag.js) - Google Analytics