自己写的组件如何打成JAVA包,Android Studio将自定义控件打成jar包

我写一个自定义控件,作为com.android.library想提供给别人使用。由于很多依赖我控件的项目需要在系统平台编译,因此我需要将自己的控件库打成jar包以静态库的形式提供给别人使用。

该项目的build.gradle代码如下:

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:1.5.0'

}

}

apply plugin: 'com.android.library'

android {

compileSdkVersion 23

buildToolsVersion "23.0.2"

defaultConfig {

minSdkVersion 19

targetSdkVersion 23

versionCode 20160324

versionName "1.0.0"

}

sourceSets {

main {

java {

srcDir 'src/main/java'

}

resources {

srcDir 'src/main/'

exclude 'AndroidManifest.xml'

}

res {

srcDir 'src/main/res'

}

}

}

}

task clearJar(type: Delete) {

delete 'build/libs/ArcScroll.jar'

delete 'libs/ArcScroll.jar'

}

task makeJar(type: Copy) {

from('build/intermediates/bundles/release')

into('libs/')

include('classes.jar')

rename('classes.jar', 'ArcScroll.jar')

}

makeJar.dependsOn(clearJar, build)

我遇到的问题是:这个生成的Jar里我没有将R类打进去,导致demo程序使用这个自定义控件时,直接报错:

Suppressed: java.lang.ClassNotFoundException:com.watch.arcscroll.R$styleable at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504)

Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

01-02 15:14:53.549 2403-2403/com.watch.arcscroll.example I/Process: Sending signal. PID: 2403 SIG: 9

我google搜索之后,没有搜到明确的解决方案,但是我认为应该是没有将R类打进jar包的缘故。所以求指导如何解决该问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值