从github上,下载的android项目,从0-1进行编译运行-踩坑精力,如何进行部署

news/2025/1/15 20:09:53/

因为国内的网络原因,一直在anroidstudio开发的问题上,是个每个开发者都会踩坑

一直以为是自己的原因,其实很多都是国内网络的原因,今天就从一个开发者的视角
把从github上一个陌生的项目,如何通过本地就行运行的
首先我是准备研究anroid中蓝牙的项目让我们开始吧

第一步

首先到github上下载自己想要的项目我这里举例

https://github.com/lioilwin/Bluetooth

在这里插入图片描述

第二步

用andorid studio打开我们的项目,只要不是和你以前项目开发的版本一致的话,首先可能就是报错,一般都是gradle的问题,gradle在andorid开发当中一直就是一个病态(首先我这里不得不吐槽一下,android studio是我开发生涯中,遇到最难用的开发工具,太复杂了,如果有时间一直要用那种跨平台的进行开发,迟早要淘汰,但是没办法,我是要用这个去研究)
我这里附上我的报错
在这里插入图片描述

反正你一看到gradle的错误,不用想就是版本的问题,打开你的项目目录下

gradle\wrapper\gradle-wrapper.properties

这个文件

#Sat May 12 21:39:32 CST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

看到一个关键语句

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

就是这玩意管gradle的,我们直接替换我们java版本的,比如我是java 8,最好支持是gradle-7.5
而且最重要的环节来了,不管你是几,一定要换成国内的镜像,其实这里有个技巧,最好是打开以前你运行过的项目的文件,来看自己电脑支持最好的gradle的版本,也就是打开以前你项目同样这个目录的文件,来看你的gradle版本是多少
所以我们直接替换成自己的

distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.5-bin.zip

第三步

重新编译
一般没问题的话,这一步就解决了大部分的问题,至少gradle应该是能过的

总结下面踩坑的,以及我在编译运行的时候出现的问题,想到了就持续更新

一:Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not “opens java.io” to unnamed module @a4cb58f

这臭玩意尽然是java的问题,反正就是要添加jvm参数才能运行,什么意思呢,我的理解就是不兼容
在哪里添加?直接修改gradle.properties文件,如果有修改里面参数,org.gradle.jvmargs=–add-opens java.base/java.io=ALL-UNNAMED


http://www.ppmy.cn/news/1563417.html

相关文章

Vue 框架深度剖析:原理、应用与最佳实践

目录 一、Vue 框架简介 二、Vue 的安装与基本使用 (一)安装 (二)基本使用 三、Vue 组件 (一)创建组件 (二)组件通信 四、Vue 模板语法 (一)插值 &a…

【C】初阶数据结构2 -- 顺序表

前面学习了数据结构的入门内容时间复杂度与空间复杂度,就可以来学第一个数据结构,也是最简单的数据结构 -- 顺序表。 本文将会介绍线性表、顺序表的定义,以及顺序表的基础操作。 目录 一 线性表的定义 二 顺序表 1 顺序表的定义 2 顺序…

为ARM64架构移植Ubuntu20.04换源的发现

在为ARM64架构(RK3566)移植ubuntu20.04的时候发现在更换为国内源之后,无法正常完成apt update,报错为: Ign:25 http://mirrors.aliyun.com/ubuntu focal-updates/main arm64 Packages …

45. 跳跃游戏2

题目 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1…

LeetCode | 图文详细描述动态规划DP算法及经典题型

本文将用简单直白的方式&#xff0c;从零开始带你掌握动态规划的精髓。你会发现&#xff1a; 动态规划其实没那么难——它就是递归的“记性”版。状态转移方程不再玄学——从题目思路到实现&#xff0c;手把手教你推导。经典题型剖析——从“爬楼梯”到“背包问题”&#xff0…

web.xml常用配置

web.xml是Java Web应用程序的部署描述文件&#xff0c;它位于WEB-INF目录下。web.xml文件主要用于配置Servlet、Filter、Listener、MIME类型、欢迎页面等组件&#xff0c;以及一些Web应用的上下文参数。以下是一些常见的web.xml配置说明&#xff1a; Servlet配置&#xff1a; …

如何将json字符串格式化

文章目录 如何对json字符串进行格式化显示hutool方案的示例和不足使用fastjson的方案 如何对json字符串进行格式化显示 将json字符串内容进行格式化的输出显示。本文介绍 hutool的方案和alibaba 的fastjson方案 hutool方案的示例和不足 引入依赖 <dependency><grou…

【SVN】版本发布快捷操作

摘要&#xff1a;因为每次发版都需要制作一份相同的文件夹&#xff0c;而大部分的包都不需要变更&#xff0c;但是文件又非常大&#xff0c;记录自己的操作经验。 首先在SVN Repository Browser 界面把上一次的版本复制一份&#xff0c;复制的时候重命名为新的版本号 右击要复…