安卓编译的时候依赖包解析不了,老是下载不下来。Faled to resolve: com.squareup.retrofit2:converter-gson:2.3.0

本文介绍了解决Android应用构建过程中依赖包无法解析及应用安装后无法启动的问题。提供了具体的错误日志分析及解决方案,包括调整Gradle配置、解决Manifest合并冲突等。

安卓编译的时候依赖包解析不了,老是下载不下来。

这里写图片描述

E\ldeaProjectsNdrcApp\app\build.gradle
Error: QpenFle
ShowinProiectStructuredala
Faled to resolve: com.squareup.retrofit2:converter-gson:2.3.0
Error: QpenFile
ShowinProiectStructuredalba
Failed to resolve: io.reactivex.njava2:nxandroid:2.0 1
Error: QpenE 
ShownProiectstructuredaloa
Falled to resolve: comlovedise:permissiongen:0.0.6
Error: QoenF e
ShownProiectStucturedalbg
Failed to resolve: com.squareup.okhttp3:loggin ginterceptor:3.8.0
Error: QoenF e
ShowinProiectStructuredaloa
Failed to resolve: com.squareup.retrfit2 :retrofit:2.3.0
Error: 0enFle
ShownProiectStructuredaloa
Failed to resove:.com.github.bumptech.glide:gide:3.7.0
Error: QpenFle
ShownProiectstucturedaloa
Faled to resove: cc.achary:android-support-expercent: 1.0.0
Error: QoenE e
ShowinProiectStructuredalog

解决方法:把 gradle.properties删了,重新编译。

另一个安装时的错误,安装APP成功后,打不开。

FATAL EXCEPTION: main                                                           Process: com.myapplication, PID: 3848                                                               java.lang.RuntimeException: Unable to instantiate application com.myapplication.MyApplication: java.lang.ClassNotFoundException: Didn't find class "com.myapplication1.MyApplication" on path: DexPathList[[zip file "/data/app/com.myapplication1-1/base.apk", zip file "/data/app/com.myapplication1-1/split_lib_slice_8_apk.apk"],nativeLibraryDirectories=[/data/app/com.myapplication1-1/lib/arm, /system/fake-libs, /data/app/com.myapplication1-1/base.apk!/lib/armeabi, /data/app/com.myapplication1-1/split_lib_slice_8_apk.apk!/lib/armeabi, /system/lib, /vendor/lib, /system/vendor/lib, /product/lib]]                                                                     at android.app.LoadedApk.makeApplication(LoadedApk.java:855)                                                                     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5686)                                                                     at android.app.ActivityThread.-wrap2(ActivityThread.java)                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1637)                                                                    at android.os.Handler.dispatchMessage(Handler.java:105)                                                                      at android.os.Looper.loop(Looper.java:156)                                                                      at android.app.ActivityThread.main(ActivityThread.java:6577)                                                                      at java.lang.reflect.Method.invoke(Native Method)                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)                                                                   Caused by: java.lang.ClassNotFoundException: Didn't find class "com.myapplication1.MyApplication" on path: DexPathList[[zip file "/data/app/com.myapplication1-1/base.apk", zip file "/data/app/com.myapplication1-1/split_lib_slice_8_apk.apk"],nativeLibraryDirectories=[/data/app/com.myapplication1-1/lib/arm, /system/fake-libs, /data/app/com.myapplication1-1/base.apk!/lib/armeabi, /data/app/com.myapplication1-1/split_lib_slice_8_apk.apk!/lib/armeabi, /system/lib, /vendor/lib, /system/vendor/lib, /product/lib]]                                                                      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)                                                                     at java.lang.ClassLoader.loadClass(ClassLoader.java:380)                                                                      at java.lang.ClassLoader.loadClass(ClassLoader.java:312)                                                                     at android.app.Instrumentation.newApplication(Instrumentation.java:995)                                                                      at android.app.LoadedApk.makeApplication(LoadedApk.java:849)                                                                     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5686)?                                                                    at android.app.ActivityThread.-wrap2(ActivityThread.java)?                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1637)?                                                                     at android.os.Handler.dispatchMessage(Handler.java:105)?                                                                      at android.os.Looper.loop(Looper.java:156)?                                                                      at android.app.ActivityThread.main(ActivityThread.java:6577)?                                                                    at java.lang.reflect.Method.invoke(Native Method)?                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)?                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832

解决方法:在application标签下设置android:allowBackup=”false”

<application
        tools:replace="allowBackup"
        android:name=".MyApplication"
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

PS:AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性,则此时会合并失败,并报异常。

解决方法有以下2种:

方法1:在Manifest.xml的application标签下添加tools:replace=”allowBackup”(多个属性用”,”隔开,并且记住在manifest根标签上加入xmlns:tools=”http://schemas.android.com/tools”,否则会找不到namespace)

方法2:在build.gradle根标签上加上useOldManifestMerger true

### 解决 Vue3 Vite 项目打包后加载模块脚本失败的问题 当遇到 `Failed to load module script` 错误,且服务器响应的 MIME 类型为 `"text/html"` 而是预期的 JavaScript 类型时,这通常意味着请求路径正确或文件未被正确部署到服务器上[^1]。 #### 可能的原因及解决方案: #### 部署配置当 如果项目的静态资源未能正确上传至目标服务器,则浏览器尝试加载这些资源时会收到 HTML 文件而非实际的 JS 文件。确保构建后的 dist 目录已完全复制到了 Web 服务器根目录下,并确认 webserver 的默认文档设置会干扰对 js/css 等静态资源的访问[^2]。 #### 正确的 base URL 设置 Vite 和 Vue CLI 使用 `base` 或者 `publicPath` 来定义应用的基础路径。对于生产环境来说,默认情况下这个值为空字符串 (`&#39;&#39;`) 表示相对路径;但如果应用程序托管在一个子路径中,则需要相应调整此参数以匹配实际情况。例如,在 vite.config.js 中可以这样指定: ```javascript export default defineConfig({ base: &#39;/my-app/&#39;, // 如果你的app位于example.com/my-app/ }) ``` #### 缺少 .htaccess (针对 Apache Server) 为了使单页应用(SPA)正常工作并处理刷新页面时丢失路由状态的情况,可能还需要在服务器端做一些额外的工作。比如,在Apache环境下可以通过创建 `.htaccess` 文件来重定向所有非 API 请求回到 index.html : ```apacheconf <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule> ``` 通过以上方法应该能够有效解决由于 MIME Type 导致的模块加载失败问题。当然也建议检查网络面板中的具体请求URL, 确认它们指向的是有效的JavaScript文件位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值