话不多说,直接进主题

问题一

gradlew : 无法将“gradlew”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正
确,然后再试一次

在这里插入图片描述

方法一

这个地方是权限不够,直接改成./gradlew makeJar回车即可

方法二:

用管理员权限打开命令提示符,cd到此项目的位置,然后gradlew makeJar即可

问题二

FAILURE: Build failed with an exception.
An exception occurred applying plugin request [id: ‘com.android.application’]
Failed to apply plugin ‘com.android.internal.application’.
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

在这里插入图片描述
这个是因为版本太高了,只需要改一下客户端版本,在build.gradle(project)文件中将原来的高版本改成如下就好了

dependencies {
        classpath 'com.android.tools.build:gradle:4.1.1'
    }

问题三:

按照网上的指示,明明显示导出成功了,在libs文件下却找不到导出的jar包
这是网上给的教程代码

task makeJar(type: Copy) {
    //这行表示要打包的文件的路径,根据下面的内容,其实是该路径下的classes.jar
    //这里注意下,网上很多人都说在intermediates/bundles目录下,但是比较新版本的AS该目录下intermediates/packaged-classes替换intermediates/bundles了,本人AS4.0
    from('build/intermediates/packaged-classes/release/')
    //这行表示打包完毕后包的生成路径,也就是生成的包存在哪
    into('build/libs/')  
    //看到这行,如果你对分包有了解的话,你就可以看出来这行它只是将一些类打包了
    include('classes.jar')  
    //重命名为mySdk.jar
    rename ('classes.jar', 'mySdk.jar')
}

首先切换到project视图,按照form方法中的路径寻找
在这里插入图片描述
你会发现找不到form方法中的文件,这时候你就要自己找,找找这些文件,看看哪个文件中包含了classes.jar文件
在这里插入图片描述
然后将form中的路径换成这个文件就好了,记得再看一下你的into方法中的位置,我的稍作修改了一下

   task makeJar(type: Copy) {
        //删除存在的
        delete 'build/libs/JZBell.jar'
        //设置拷贝的文件
        from('build/intermediates/runtime_library_classes_jar/release/')
        //打进jar包后的文件目录
        into('libs/')
        //将classes.jar放入build/libs/目录下
        //include ,exclude参数来设置过滤
        //(我们只关心classes.jar这个文件)
        include('classes.jar')
        //重命名
        rename ('classes.jar', 'JZBell.jar')
    }
    makeJar.dependsOn(build)

大功告成!接下来只需要继续gradlew makeJar就好了

Logo

助力合肥开发者学习交流的技术社区,不定期举办线上线下活动,欢迎大家的加入

更多推荐