android打包出现注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 注: 某些输入文件使用了未经检查或不安全的操作。

本文介绍如何解决在Android Studio中打包应用程序时遇到的过时API和未检查操作的警告。通过在build.gradle文件中添加配置,可以详细显示警告信息,并通过调整lint选项来屏蔽警告,确保应用顺利打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用android studio打包应用程序出现如下错误:

注: 某些输入文件使用或覆盖了已过时的 API。 
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 
注: 某些输入文件使用了未经检查或不安全的操作。 
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

第一步:project根目录下的build.gradle添加:

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}

重新编译得到如下错误提示:

sers/guoyoujin/AndroidStudioProjects/gz/app/src/main/java/com/guoyoujin/gz/gz/net/HttpConnect.java:83: 警告: [deprecation] org.apache.http.params中的BasicHttpParams已过时
        BasicHttpParams httpParams = new BasicHttpParams();
                                         ^
/Users/guoyoujin/AndroidStudioProjects/gz/app/src/main/java/com/guoyoujin/gz/gz/net/HttpConnect.java:85: 警告: [deprecation] org.apache.http.conn.params中的ConnManagerParams已过时
        ConnManagerParams.setTimeout(httpParams, Globe.TIMEOUT_SOCKET);
        ^
/Users/guoyoujin/AndroidStudioProjects/gz/app/src/main/java/com/guoyoujin/gz/gz/net/HttpConnect.java:86: 警告: [deprecation] org.apache.http.conn.params中的ConnPerRouteBean已过时
        ConnManagerParams.setMaxConnectionsPerRoute(httpParams, new ConnPerRouteBean(15));
                                                                    ^
注: 某些输入文件还使用或覆盖了已过时的 API。
100 个警告

好吧,果然错误提示变的非常详细,接下来就可以去修改这些警告了,如果你有时间的话。我是用下面方法解决的。

 

第二步:屏蔽警告方法,在app目录的build.gradle下添加:

android {   
   lintOptions {
       checkReleaseBuilds false
       abortOnError false
   }
}

再次打包,我的问题解决了。

 

Executing tasks: [testDebugUnitTest] in project E:\7.flower-shop\flower-shop\app Starting Gradle Daemon... Connected to the target VM, address: '127.0.0.1:62652', transport: 'socket' Gradle Daemon started in 3 s 284 ms > Task :app:preBuild UP-TO-DATE > Task :app:preDebugBuild UP-TO-DATE > Task :app:javaPreCompileDebug > Task :app:generateDebugResValues > Task :app:checkDebugAarMetadata > Task :app:mapDebugSourceSetPaths > Task :app:generateDebugResources > Task :app:packageDebugResources > Task :app:createDebugCompatibleScreenManifests > Task :app:extractDeepLinksDebug > Task :app:parseDebugLocalResources > Task :app:mergeDebugResources > Task :app:processDebugMainManifest > Task :app:processDebugManifest > Task :app:preDebugUnitTestBuild UP-TO-DATE > Task :app:javaPreCompileDebugUnitTest > Task :app:processDebugUnitTestJavaRes NO-SOURCE > Task :app:processDebugManifestForPackage Download https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/8.10.1-12782657/aapt2-8.10.1-12782657.pom, took 519 ms Download https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/8.10.1-12782657/aapt2-8.10.1-12782657-windows.jar, took 630 ms > Task :app:processDebugResources > Task :app:compileDebugJavaWithJavac Java compiler version 21 has deprecated support for compiling with source/target version 8. Try one of the following options: 1. [Recommended] Use Java toolchain with a lower language version 2. Set a higher source/target version 3. Use a lower version of the JDK running the build (if you're not using Java toolchain) For more details on how to configure these settings, see https://developer.android.com/build/jdks. To suppress this warning, set android.javaCompile.suppressSourceTargetDeprecationWarning=true in gradle.properties. 警告: [options] 源值 8 已过时,将在未来发行版中删除 警告: [options] 目标值 8 已过时,将在未来发行版中删除 警告: [options] 要隐藏有关已过时选项的警告, 使用 -Xlint:-options。 : 某些输入文件使用覆盖了已过时API: 有关详细信息, 使用 -Xlint:deprecation 重新编译。 3 个警告 > Task :app:processDebugJavaRes > Task :app:bundleDebugClassesToCompileJar > Task :app:bundleDebugClassesToRuntimeJar > Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE > Task :app:testDebugUnitTest NO-SOURCE [Incubating] Problems report is available at: file:///E:/7.flower-shop/flower-shop/build/reports/problems/problems-report.html BUILD SUCCESSFUL in 39s 19 actionable tasks: 19 executed Build Analyzer results available 22:19:49: Execution finished 'testDebugUnitTest'. Disconnected from the target VM, address: '127.0.0.1:62652', transport: 'socket'
最新发布
06-03
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值