对于SwiftPackageManager(一)初探感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍swiftmanual,并为您提供关于AndroidSDKManager和AVDManager
对于Swift Package Manager(一)初探感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍swift manual,并为您提供关于Android SDK Manager 和 AVD Manager 使用、Android Studio 运行模拟器就出现 Error: Could not access the Package Manager. Is the system running?、AppCode 2020.2 EAP:初始 Swift Package Manager 支持、改进性能和代码补全、Control Panel 的 Credential Manager 是否与 git 的凭证助手 Credential Manager 和 Credential manager Core 相同的有用信息。
本文目录一览:- Swift Package Manager(一)初探(swift manual)
- Android SDK Manager 和 AVD Manager 使用
- Android Studio 运行模拟器就出现 Error: Could not access the Package Manager. Is the system running?
- AppCode 2020.2 EAP:初始 Swift Package Manager 支持、改进性能和代码补全
- Control Panel 的 Credential Manager 是否与 git 的凭证助手 Credential Manager 和 Credential manager Core 相同
Swift Package Manager(一)初探(swift manual)
一句话:Swift Package Manager(swift包管理器,简称:SPM)就是在swift开发中用来替代CocoaPod的;在swift开发中,SPM完全可以替代CocoaPod的功能,并且速度更快,体验更佳;
一、安装SPM
SPM随Xcode 8.x 一起发布,终端上可查看SPM版本:
$ swift package --version Swift Package Manager - Swift 3.0.0-dev
二、使用SPM创建项目
创建一个可执行项目,如SPMDemo:
$ mkdir SPMDemo // 创建文件夹 $ cd SPMDemo // 进入文件夹 $ swift package init --type executable // 初始化为可执行项目 Creating executable package: SPMDemo Creating Package.swift Creating .gitignore Creating Sources/ Creating Sources/main.swift Creating Tests/ $ swift package generate-xcodeproj //生成Xcode工程,可用Xcode打开 generated: ./SPMDemo.xcodeproj $ swift build // swift 编译并生成可执行文件 Compile Swift Module ‘SPMDemo‘ (1 sources) Linking ./.build/debug/SPMDemo $ ./.build/debug/SPMDemo // 执行生成的文件 Hello,world! // 执行效果
三、添加外部模块
我们试着把Alamofire模块添加到SPMDemo中;
1、编辑Package.swift文件,内容如下:
import PackageDescription let package = Package( name: "SPMDemo",dependencies: [ .Package(url: "https://github.com/Alamofire/Alamofire.git",Version(4,2,0)) ] )
2、main.swift中引入并使用Alamofire
import Alamofire print(Alamofire.request("https://httpbin.org/get"))
3、编译并运行
$ swift build
Compile Swift Module ‘SPMDemo‘ (1 sources) Linking ./.build/debug/SPMDemo $ ./.build/debug/SPMDemo GET https://httpbin.org/get
四、更新依赖包
假设我们需要将Alamofire 4.2.0“更新”到4.1.0;
1、编辑Package.swift,将Version(4,2,0)改为Version(4,1,0);
2、更新依赖:
$ swift package update
cloning https://github.com/Alamofire/Alamofire.git HEAD is Now at c2134d7 Added release notes to the CHANGELOG and bumped the version to 4.1.0. Resolved version: 4.1.0
可以用 swift package generate-xcodeproj更新一下Xcode工程文件,然后就可以build的运行了
五、创建模块(库)
假设我们需要创建一个BarModule,步骤如下:
1、初始化模块
$ mkdir BarModule
$ cd BarModule
$ swift package init --type library // 初始化为一个库 Creating library package: BarModule Creating Package.swift Creating .gitignore Creating Sources/ Creating Sources/BarModule.swift Creating Tests/ Creating Tests/LinuxMain.swift Creating Tests/BarModuleTests/ Creating Tests/BarModuleTests/BarModuleTests.swift $ swift package generate-xcodeproj // 创建Xcode项目 generated: ./BarModule.xcodeproj
2、编写模块代码
初始化为库时,自动生成了一个文件BarModule.swift,编辑BarModule.swift文件如下:
public struct BarModule { public var text = "Hello,Module!" public var num: Int public init() { num = 12 } }
3、添加git tag
$ git init
$ git add .
$ git commit -m "Init Commit" $ git tag 1.0.0 // 添加tag
这个 tag 1.0.0就是我们引用时的版本号;
如果把这个BarModule推送到外部,如github上,就是可以通过引入外部引入的方式引入到项目中;
当然,我们还能本地引入模块;
六、本地引入模块
我们将在SPMDemo项目中引入BarModule;
1、编辑SPMDemo的Package.swift文件
import PackageDescription let package = Package( name: "SPMDemo",1,0)),.Package(url: "../BarModule",Version(1,0,0)) // 添加的代码,版本号就是刚才的tag ] )
2、swift build将BarModule添加到SPMDemo项目中
3、编辑main.swift文件
import Alamofire import BarModule print(Alamofire.request("https://httpbin.org/get")) let bar = BarModule() print(bar.num) print(bar.text)
4、编译运行
$ swift build
$ ./.build/debug/SPMDemo
GET https://httpbin.org/get 12 Hello,Module!
七、待解决的问题
以下是笔者尚未解决的问题:1、如何在Swift的iOS项目中应用Swift Package Manager进行依赖管理?2、如何用Swift Package Manager发布管理二进制的SDK?
Android SDK Manager 和 AVD Manager 使用
Android SDK Manager 和 AVD Manager 使用
Android SDK Manager 和 AVD Manager 使用(win7_64bit 下测试)
目录
1. 概述
2. 本文用到的工具
3. 安卓开发基础工具包下载
4.Android SDK Manager 使用
5.AVD Manager 使用
6. 注意事项
7. 相关博文(AndroidStudio、IDEA、Eclipse 安卓环境配置)
>> 看不清的图片可在新标签打开查看大图
1. 概述
顾名思义,Android SDK Manager 就是一个 Android 软件开发工具包管理器,就像一个桥梁,连通本地和服务器,从服务器下载安卓开发所需工具到本地。
而 AVD Manager 是一个 Android 虚拟驱动管理器,主要用来创建安卓模拟器(即手机模拟器)。当然,安卓模拟器所需的镜像(可以理解成模拟器的操作系统)是通过 SDK Manager 来下载的。
对于 SDK Manager 和 AVD Manager 的使用,还需要一个基础工具包 tools 提供支持。
2. 本文用到的工具
SDK 基础工具包(必需,已更新为 tools 25.2.2)
离线帮助文档(可选,已更新为 API 24)
官方安卓示例离线版(可选,已更新为 API 23, 如果官方有更新我会跟进)
CPU 虚拟化检测软件(可选)
3. 安卓开发基础工具包下载
下载 SDK 基础工具包之后,解压,就可以看到如下文件:
将 SDK 文件夹移动到预设的磁盘下,所在磁盘剩余空间 > 30G 为好。这里建议将 SDK 文件夹和其他开发工具放到同一目录如下图,目的是便于查找管理。
4.Android SDK Manager 使用
4.1 启动 SDK Manager,可以看到如下图列表:
注 1:如果不能更新出列表,见注事事项中代理的设置。
注 2:不同版本的 tools,更新出的列表可能有所不同,下图列表以 tools25.2.2 为依据。
4.2 各工具作用如下:
━━┳Tools 目录(必须的工具):
┣ ━━Android SDK Tools(必须,只需下载一个版本,一般选最新版本):基础工具包,版本号带 rc 字样的是预览版。
┣ ━━Android SDK Platform-tools(必须,只需下载一个版本,一般选最新版本):从 android2.3 开始划出此目录,存放公用开发工具,比如 adb、sqlite3 等,被划分到了这里。
┗━━ Android SDK Build-tools(必须,可以安装多个版本):Android 项目构建工具。
━━┳Android xxx(API xx)目录(可选的各平台开发工具):
┣ ━━Documentation for Android Sdk(可选):安卓开发者官网的一些离线文档,不过下载下来打开也很慢,后面会提供另外一个离线版。
┣ ━━SDK Platform(必须):对应平台的开发工具,需要在哪个版本的平台下开发就下载哪个。
┣ ━━Samples for SDK(可选,此项在高版本 tools 中已不提供,需要在 IDE 里通过 Import Sample 引入,当然也可以下载离线版):内置的安卓示例程序,推荐安装。
┣ ━━Sources for Android SDK(可选):安卓 API 的源代码,推荐安装。
┗━━ xxxxxxxx Image(可选):各个以 Image 结尾的东西是支持相应平台的模拟器,我们就把它想象成一个刷机包吧。(使用真机调试或使用其它模拟器的话不需要安装)
━━┳Extras 目录(可选的扩展):
┣ ━━Android Support Libraries(需要,高版本 tools 中已不见了,应该是集成到了别的地方):在低版本平台实现高版本平台控件效果时提供支持。
┣ ━━Android Support Repository(需要):主要是方便在 gradle 中使用 Android Support Libraries,因为 Google 并没有把这些库发布到 maven center 或者 jcenter 去,而是使用了 Google 自己的 maven 仓库。
┗━━ Intel x86 Emulator Accelerator (HAXM installer)(可选,但非常需要,需要 CPU 支持虚拟化技术支持):windows 平台的 Intel x86 模拟器加速工具,配合 Intel x86 atom/atom_64 System Image 使用可加快模拟器的运行速度。
4.3 下载工具(万一无法连接下载网站,则可查看注意事项中代理的设置)
勾选需要下载的插件后,点击安装即可,然后就是接受安装协议,耐心等待下载完成...
注 1:Google 开头的文件初学一般用不到,而且使用需 FQ。
注 2:如果 Intel 系列模拟器无法使用,就改用 ARM 模拟器。ARM 模拟器缺点是慢....
注 3:关于最后那个模拟器加速器的使用,其只支持 Intel x86 架构系列模拟器,且下载后还需单独安装一次:
打开加速器的下载目录:
安装加速器(一路点击下一步即可):
5.AVD Manager 使用
5.1 打开 AVD Manager
5.2 设置模拟器器参数
5.3 启动模拟器
6. 注事事项
6.1 安装版本
6.2 代理设置
6.2.1 这儿是一个可用的国内 SDK 镜像代理(仅供下载 SDK 中的资源):
设置代理的地方:
此网站提供了更多代理网址和多版本的离线安装包:
安卓开发工具和相关镜像
6.2.2 对于有 FQ 查询资料需求的小伙伴,特推荐免费的代理小工具蓝灯(Lantern),有桌面版和移动版:
注:安装蓝灯后但不开启蓝灯,可能会导致默认浏览器失效。所以建议将电脑默认浏览器设置为不常用的 IE。
蓝灯 windows 版
蓝灯 Android 版
更多版本见蓝灯中文官网(不保证任何时候都可以正常访问)
工具下载后,解压双击安装即可...
既然安装了 Lantern,那么如果万一无法更新 SDK,则可以利用 Lantern 来设置代理下载 SDK,设置方式如下:
6.2.2.1 启动 Lantern,获取其代理地址和监听端口(注:你那里的端口可能与我这里的不同)。
参考博文:如何查看程序所占端口号和 IP
6.2.2.2 设置代理,设置结果如图(不同电脑可能不同):
6.3 离线文档
鉴于官方下载的离线文档包含一些谷歌服务,因而打开速度过慢,所以这里提供一个已经去掉谷歌服务的离线文档:
注:现在已经有了安卓开发者中文官网,所以离线文档就视个人需求而定吧。
离线文档
此文档可放在任何地方用浏览器打开,个人感觉是 Chrome 浏览器上浏览效果最好,Firefox 上也行,IE 上其次,其它的不一而论...
有人说为什么这个打开速度快?原理是去掉那些谷歌相关的字体服务和 JS 脚本就好了,如果想自己尝试,可以利用 Notepad++ 这款软件,在离线文档存放目录 docs 下分别搜索以下四个字串,并替换为空串,如下图:
http://fonts.googleapis.com/css?family=Roboto+Condensed
http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold
http://www.google.com/jsapi
https://developer.android.com/ytblogger_lists_unified.js
记得是替换为空串,由于文件较多,替换过程稍长一点,耐心等待...
如果不想尝试,直接下载上面替换好的就可以了。
还有一点需要说明,官方离线文档中的部分图片无法正常显示,这是由于其文档本身的错误导致的,解决办法是修改那些图片引用就行(需要懂些 HTML 知识)。当然,这一点是针对强迫症讲的,那些图片完全不影响文档的阅读,所以不修改也罢。
另外,离线文档提供了在线文档大概 95% 以上的内容吧,个别链接还是需要 FanQiang 查看的。还好,那些没有内容也基本用不上,等你需要用的时候,FanQiang 浏览在线文档就可以。
6.4 官方 Android 示例
旧版本的 SDK tools 里,官方 Sample 可以在 tools 里直接下载,下载后的导入方式如下图:
但是在新版本的 tools 里 Sample 已不再提供直接下载(想不通...),下面提供解决方案:
6.4.1 离线导入 Sample,这儿先提供一个离线 Sample 下载地址:
Android 官方示例离线下载(包含了 android 15 - android 23 的 Sample,可自行选择需要的版本)
下载好后,解压,并建议将这些示例放在 SDK 文件夹下。
如果仍然使用 Import Sample 的方式导入这些示例时,会出现故障提示:
所以,推荐的做法是:
6.4.1.1 (方案一)新建一个项目,并将对应的源码和资源拷贝到新项目里,这样做的缺点是对于资源比较多的拷贝起来会麻烦一点,但优点是一般不用更新 Gradle。
6.4.1.2 (方案二)直接通过 Import Project 导入,相对地,这样做的优点是导入简单,但缺点是往往需要更新 Gradle 版本(因为那些示例项目创建时使用的 Gradle 版本一般低于你现在编译器上安装的 Gradle 版本)。
就我个人来说,推荐第二种方案,因为可以保证导入的项目是完整的,那么下面附图说明导入过程:
6.4.1.2.1 导入贪吃蛇项目:
导入之前,可以先看下贪吃蛇项目目录结构,可以看到,其目录下只是源码和资源,没有构建工具信息:
导入步骤如下:
项目展示:
6.4.1.2.2 导入多点触控项目:
导入之前,依然先看下此项目的目录结构:
可以注意到,这个目录内的东西显然比上面贪吃蛇项目下的东西多,这是因为这种项目已经被打包为一个 AndroidStudio 项目了,也正是因为这里有了构建工具 gradle 的信息,所以可能出现当时构建项目的 gradle 版本低于现在 AS 上安装的 gradle 版本,这时候就需要更新 gradle 了,下面用图示说明:
项目展示:
至此,两种不同目录结构的项目的导入方式已展示完毕,
6.4.2 在线导入 Sample
在线导入 Sample 的话需要设置代理来 FQ,以 Lantern 软件为例,步骤如下:
6.4.2.1 查看 Lantern 服务地址和监听端口(一般地址选 127.0.0.1,端口号就试验列表中查到的那些,查看方式见下面的博文):
参考博文:如何查看程序所占端口号和 IP
6.4.2.2 在 AndroidStudio 里设置代理(注:确认好端口号,你那里看到的可能与我这里的并不一样):
6.4.2.3 在线导入项目:
项目示例:
6.5 模拟器选择
之前不推荐官方模拟器,是因为官方的模拟器是在太慢了,不过现在已有很大改善。
这儿推荐一个非官方的模拟器,速度不错,性能也稳定:
Genymotion 安卓模拟器和 VirtualBox 虚拟机安装、配置、测试
值得注意的是,Genymotion 模拟器免费版不提供短信和电话这些测试功能,如果需要,还请用回安卓官方模拟器,或者使用 Genymotion 付费版。
6.6 真机调试
真机调试注意打开 USB 调试模式并安装相关驱动。
如果驱动连接失败,可借助豌豆荚、360 安全助手等第三方软件进行连接。
真机的优点是可以模拟一切环境,但缺点是频繁的测试以及多版本适配中不大方便。
6.7 CPU 虚拟化检测
首先下载个小软件: CPU 虚拟化检测软件
如果检测成功,会出现以下结果:
注意红框里的语句,如果提示你的 CPU 支持虚拟化但未开启,那么请自行开启虚拟化即可,至于如何开启,不同的主板进入 BIOS 的设置方式不一样,但都大同小异,自行搜索即可。
有些杀毒软件会利用 CPU 虚拟化技术对电脑进行防护,比如 360 的核晶防护功能,这会造成虚拟机启动失败。所以如果你有类似的软件开启了类似的功能,请先关闭此类防护功能并重启电脑。
6.8 已知的 BUG
在使用 Android 24 模拟器的同时,Android Device Monitor 无法正常使用。而且此时如果连上了真机,那么真机会频繁地与电脑断开连接,不知道这是我个人的问题还是一个 BUG。
还有就是在 Android 23 模拟器及其以上,DDMS 中无法显示手机文件目录。
如果有人遇到同样的故障,建议使用 Android 23 及其以下的模拟器就好了。
6.9 如果文中涉及到的链接被吞,或者发现有误的地方,请联系 QQ245176013...
7. 相关博文
7.1 Android 开发环境配置
7.2 AndroidStudio 安装、配置、测试
7.3 IntelliJ IDEA 安装、配置、测试
7.4 Eclipse For JavaSE 安装、配置、测试
7.5 Eclipse For JavaEE 安装、配置、测试
回到目录
Android Studio 运行模拟器就出现 Error: Could not access the Package Manager. Is the system running?
通过 AVD 模拟就出现错误,如下:
Waiting for device.
"D:\Program Files\Android\Android Studio\sdk\tools\emulator.exe" -avd NS_AVD -netspeed full -netdelay none
Device connected: emulator-5556
Device is online: emulator-5556
Target device: NS_AVD [emulator-5556]
Uploading file
local path: E:\Examples\06.Android\MyApplicationTwoProject\MyApplicationTwo\build\apk\MyApplicationTwo-debug-unaligned.apk
remote path: /data/local/tmp/com.example.myapplicationtwo
Installing com.example.myapplicationtwo
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.myapplicationtwo"
Error: Could not access the Package Manager. Is the system running?
模拟器运行出来的界面就一直停留在安卓系统桌面
AppCode 2020.2 EAP:初始 Swift Package Manager 支持、改进性能和代码补全
AppCode 2020.2 的抢鲜体验计划启动了,主要带来的新内容包括:
性能
对索引基础结构进行了重新设计,总体上能够更快地提供代码帮助。
初始 Swift Package Manager 支持
此 EAP 构建为 Xcode 项目中的 Swift Package Manager 依赖项提供了初始支持,其中包括:
- 项目视图中的 SPM 依赖关系树
- Xcode 项目中使用的 SPM 依赖项的常规代码帮助(代码补全、高亮和导航)
代码补全
以下改进可用于 Swift 中的代码补全:
-
get
、set
、didSet
和willSet
的补全会自动跳转到语句主体
- 智能补全也能应用于初始化程序
- 字体补全以与 Objective-C 相同的方式工作
- 占位符现在能够用于索引编制期间
更多详情见发布公告:https://blog.jetbrains.com/objc/2020/06/appcode-starts-2020-2-eap/
Control Panel 的 Credential Manager 是否与 git 的凭证助手 Credential Manager 和 Credential manager Core 相同
凭证助手是负责存储和检索 git 凭证的可执行文件。
Windows 凭据管理器是在 Windows 中存储凭据的地方。
manager
和 manager-core
凭证助手都使用 windows 凭证管理器来存储凭证(它们基本上是相同的助手,但 manager
使用 dotnet 框架,而 manager-core
使用 dotnet核心)。
https://github.com/microsoft/Git-Credential-Manager-Core
https://github.com/microsoft/Git-Credential-Manager-for-Windows
https://git-scm.com/docs/gitcredentials
关于Swift Package Manager(一)初探和swift manual的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Android SDK Manager 和 AVD Manager 使用、Android Studio 运行模拟器就出现 Error: Could not access the Package Manager. Is the system running?、AppCode 2020.2 EAP:初始 Swift Package Manager 支持、改进性能和代码补全、Control Panel 的 Credential Manager 是否与 git 的凭证助手 Credential Manager 和 Credential manager Core 相同等相关知识的信息别忘了在本站进行查找喔。
本文标签: