当前位置:   article > 正文

Android Studio使用makeJar生成jar包中无class文件的问题_android makejar 后生成的jar包下面没有任何内容

android makejar 后生成的jar包下面没有任何内容

今天给公司的一个SDK打包成jar,结果在demo工程里打包生成的jar完全没问题,结果在项目结构中打包就一直有bug,头几个gradle中引用冲突还比较容易解决。后面一个makeJar生成的jar包里一直无法找到class文件,如下:

感觉特别奇怪,网上也没什么可靠的信息。后来排查发现sdk是从另一个开发手里接过来的gradle下配置markJar如下:

  1. task makeJar(type:org.gradle.api.tasks.bundling.Jar, dependsOn: "build") {
  2. //指定生成的jar名
  3. baseName 'test.jar'
  4. //从哪里打包class文件
  5. from(['build/intermediates/classes/debug/'])
  6. //去掉不需要打包的目录和文件
  7. exclude('android/','androidx/','cn/ab/cd/BuildConfig.class', 'cn/ab/cd/R.class')
  8. //去掉R$开头的文件
  9. exclude{ it.name.startsWith('R$');}
  10. }

而导入到我的项目中也是使用的这个makeJar配置,通过路径寻找发现拷贝之前有classes文件:

导入工程之后没了,汗:

这就很蛋疼了,啥原因引起的还不清楚,估计跟as或者gradle版本有关,既然没有classes,肯定class文件在某个文件夹中,挨个找终于找到了:

 

替换from(['build/intermediates/classes/debug/'])新的路径from(['build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/'])打包成功。 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/331525?site
推荐阅读
相关标签
  

闽ICP备14008679号