导航:首页 > 操作系统 > developerandroidcn

developerandroidcn

发布时间:2022-11-19 13:15:34

android studio 官网

https://developer.android.com/studio/index.html?hl=zh-cn

在中国直接访问android域名的网站是会被墙的

㈡ Windows 11安装安卓子系统(WSA)并通过ADB安装应用教程

如何不使用安卓模拟器,让我们的Windows 11系统支持安卓应用?下面看具体的操作方法:

一、设置地区

鼠标右键点击系统“开始菜单”,选择“系统”,再次点击左侧菜单中的“时间和语言”选项,点击右侧“语言和区域”进入,在区域栏中设置“国家或地区”为“美国”。

二、虚拟化支持设置

点击任务栏上的搜索图标,在上方的输入框中输入“启用或关闭Windows功能”点击打开

勾选“Hyper-V”、“Windows 虚拟机监控程序平台”、“虚拟机平台”三个选项,“确定”,等待系统安装配置,完成后需要重启系统。

三、安装配置WSA

WSA下载链接:https://www.microsoft.com/en-us/p/windows-subsystem-for-android-with-amazon-appstore/9p3395vx91nr

安装过程中,需要登陆”Microsoft账户“,完成后可在应用列表中找到。

打开”开发人员模式“,然后点击“管理开发人员设置”,开启”开发者选项“。如果”IP地址“未显示,点击刷新即可。

四、配置ADB和安装安卓应用

ADB下载地址:https://developer.android.google.cn/studio/releases/platform-tools?hl=zh_cn

下载后解压,进入文件夹 单击右键,选择“在Windows终端中打开”

在终端中输入”.adb connect 127.0.0.1:58526“执行,待提示”daemon started successfully“后,接着输入”.adb install 你的安卓应用路径“并回车,最后看到”Success“就表示安装成功了。

㈢ Android权限机制

我们知道 Android 应用程序是沙箱隔离的,每个应用都有一个只有自己具有读写权限的专用数据目录。但是如果应用要访问别人的组件或者一些设备上全局可访问的资源,这时候权限机制就能系统化地规范并强制各类应用程序的行为准则。

Android 安全性概览

在 Android 中,一个权限,本质上是一个字符串,一个可以表示执行特定操作的能力的字符串。比如说:访问 SD 卡的能力,访问通讯录的能力,启动或访问一个第三方应用中的组件的能力。 权限被授予了之后,首先会在内存和本地中有记录,这在调用系统binder服务和其他应用组件时做鉴权依据,比如调用系统binder服务时会通过Binder.getCallingUid()拿到调用者的Uid,而Uid一般都是与应用包名一一对应的,再拿这个Uid到PMS里去查这个应用对应的权限。 其次会按被授予的权限将应用分到某个组。 可以参考 https://www.jianshu.com/p/a17c8bed79d9

自定义权限的应用场景在于限制其它应用对本应用四大组件的访问。具体用法可以参考 https://www.cnblogs.com/aimqqroad-13/p/8927179.html

pm list permissions -f 命令可以详细查看 Android 所有预定义的权限。

更详细的权限信息参考 https://developer.android.com/reference/android/Manifest.permission?hl=zh-cn#WRITE_EXTERNAL_STORAGE

可以看到一个权限的信息包括:定义的包名、标签、描述、 权限组 保护级别

权限根据设备的功能或特性分为多个组。如果应用已在相同权限组中被授予另一危险权限,系统将立即授予该权限,如READ_CONTACTS和WRITE_CONTACTS。

SYSTEM_ALERT_WINDOW 和 WRITE_SETTINGS 由于其特殊性,其申请方式与其它权限都不同。

其授予流程如下:

(关于 AppOpsManager 是什么可以参考: https://segmentfault.com/a/1190000009214983 )

这里简要分析下ActivityCompat#requestPermissions的流程:

更详细的权限授予流程源码分析可以参考: https://segmentfault.com/a/1190000009214983

普通权限: 清单文件中声明即可。

危险权限: 方式一: pm grant application_package android.permission.CHANGE_CONFIGURATION 方式二:appops set application_package permission_num 0/1

appops可以授予的权限参考 android.app.AppOpsManager 中的声明

系统签名权限: 方式一:将app迁移到system/priv-app目录中。 方式二:看不懂,参考 https://blog.csdn.net/abcd_3344_abcd/article/details/50698759

android 4.4 访问sd卡需要申请权限。 您的应用在 Android 4.4 上运行时无法读取外部存储空间上的共享文件,除非您的应用具有 READ_EXTERNAL_STORAGE 权限。也就是说,没有此权限,您无法再访问 () 返回的目录中的文件。但是,如果您仅需要访问 getExternalFilesDir() 提供的您的应用特有目录,那么,您不需要 READ_EXTERNAL_STORAGE `权限。

android 6.0 运行时权限。 此版本引入了一种新的权限模式,如今,用户可直接在运行时管理应用权限。这种模式让用户能够更好地了解和控制权限,同时为应用开发者精简了安装和自动更新过程。用户可为所安装的各个应用分别授予或撤销权限。 对于以 Android 6.0(API 级别 23)或更高版本为目标平台的应用,请务必在运行时检查和请求权限。要确定您的应用是否已被授予权限,请调用新增的 checkSelfPermission() 方法。要请求权限,请调用新增的 requestPermissions() 方法。即使您的应用并不以 Android 6.0(API 级别 23)为目标平台,您也应该在新权限模式下测试您的应用。 如需了解有关在您的应用中支持新权限模式的详情,请参阅 使用系统权限 。如需了解有关如何评估新模式对应用的影响的提示,请参阅 权限最佳做法 。

android 7.+ 应用间共享文件要使用FileProvider。 对于面向 Android 7.0 的应用,Android 框架执行的 StrictMode API 政策禁止在您的应用外部公开 file://URI。如果一项包含文件 URI 的 intent 离开您的应用,则应用出现故障,并出现 FileUriExposedException 异常。 要在应用间共享文件,您应发送一项 content:// URI,并授予 URI 临时访问权限。进行此授权的最简单方式是使用 FileProvider `类。如需了解有关权限和共享文件的详细信息,请参阅 共享文件 。

android 8.+
同一权限组的权限在被授予了之后也需要显式的再申请一次。
在 Android 8.0 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。 对于针对 Android 8.0 的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而,一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准。 例如,假设某个应用在其清单中列出 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 。应用请求 READ_EXTERNAL_STORAGE ,并且用户授予了该权限。如果该应用针对的是 API 级别 24 或更低级别,系统还会同时授予 WRITE_EXTERNAL_STORAGE ,因为该权限也属于同一 STORAGE 权限组并且也在清单中注册过。如果该应用针对的是 Android 8.0,则系统此时仅会授予 READ_EXTERNAL_STORAGE ;不过,如果该应用后来又请求 WRITE_EXTERNAL_STORAGE ,则系统会立即授予该权限,而不会提示用户。

android 9
隐私权限变更。
为了增强用户隐私,Android 9 引入了若干行为变更,如限制后台应用访问设备传感器、限制通过 Wi-Fi 扫描检索到的信息,以及与通话、手机状态和 Wi-Fi 扫描相关的新权限规则和权限组。

android 10
隐私权变更。
外部存储访问权限范围限定为应用文件和媒体,在后台运行时访问设备位置信息需要权限,针对从后台启动 Activity 的限制等。

android 11
隐私权限变更。
更详细的版本变更请参考 https://developer.android.com/preview/privacy?hl=zh-cn

㈣ Android 10 之隐私权限

Android 10 中的隐私权变更 https://developer.android.google.cn/about/versions/10/privacy/changes

从Android 10开始已经无法完全标识一个设备,曾经用mac地址、IMEI等设备信息标识设备的方法,从Android 10开始统统失效。而且无论你的APP是否适配过Android 10。

从Android10开始普通应用不再允许请求权限android.permission.READ_PHONE_STATE。而且,无论你的App是否适配过Android 10(即targetSdkVersion是否大于等于29),均无法再获取到设备IMEI等设备信息。

从 Android 10 开始,应用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才能访问设备的不可重置标识符(包含 IMEI 和序列号)。而普通应用无法申请该权限。

受影响的API:

—— targetSdkVersion<29 的应用,其在获取设备ID时,会直接返回null
—— targetSdkVersion>=29 的应用,其在获取设备ID时,会直接抛出异常SecurityException

如果您的App希望在Android 10以下的设备中仍然获取设备IMEI等信息,可按以下方式进行适配:

默认情况下,在搭载 Android 10 或更高版本的设备上,系统会传输随机分配的 MAC 地址。即从Android 10开始,普通应用已经无法获取设备的真正mac地址,标识设备已经无法使用mac地址。

方法1、Google解决方案
如果您的应用有追踪非登录用户的需求,可用ANDROID_ID来标识设备。

ANDROID_ID生成规则:签名+设备信息+设备用户
ANDROID_ID重置规则:设备恢复出厂设置时,ANDROID_ID将被重置

方法2、移动安全联盟SDK
移动安全联盟SDK http://www.msa-alliance.cn/col.jsp?id=120

移动安全联盟(Mobile Security Alliance,简称MSA)于2017年12月4日成立,由中国信息通信研究院联合终端生产企业、安全企业、高等院校、研究机构、互联网企业以及芯片企业、方案企业等产业链中各个环节的重要机构共同发起。




其他资料:
Android 设备唯一标识(多种实现方案)



(部分内容参考于网络,如有不妥,请联系删除~)

㈤ android开发对计算机配置有什么要求

不需要太高配置的,有个1.5G的内存能流畅跑eclipse就行了。
在windows安装Android的开发环境不简单也说不上算复杂,分为五步。
第一步:安装JDK
要下载Oracle公司的JDK可以网络“JDK”进入Oracle公司的JDK下载页面(当前下载页面地址为http://www.oracle.com/technetwork/java/javase/downloads/index.html),选择自己电脑系统的对应版本即可。
下载到本地电脑后双击进行安装。JDK默认安装成功后,会在系统目录下出现两个文件夹,一个代表jdk,一个代表jre。
JDK的全称是Java SE Development Kit,也就是Java开发工具箱。SE表示标准版。JDK是Java的核心,包含了Java的运行环境(Java Runtime Environment),一堆Java工具和给开发者开发应用程序时调用的Java类库。
我们可以打开jdk的安装目录下的Bin目录,里面有许多后缀名为exe的可执行程序,这些都是JDK包含的工具。通过第二步讲到的配置JDK的变量环境,我们可以方便地调用这些工具及它们的命令。
JDK包含的基本工具主要有:
javac:Java编译器,将源代码转成字节码。
jar:打包工具,将相关的类文件打包成一个文件。
javadoc:文档生成器,从源码注释中提取文档。
jdb:debugger,调试查错工具。
java:运行编译后的java程序。
第二步:配置Windows上JDK的变量环境
很多刚学java开发的人按照网上的教程可以很轻松配置好Windows上JDK的变量环境,但是为什么要这么配置并没有多想。
我们平时打开一个应用程序,一般是通过桌面的应用程序图标双击或单击系统开始菜单中应用程序的菜单链接,无论是桌面的快捷图标还是菜单链接都包含了应用程序的安装位置信息,打开它们的时候系统会按照这些位置信息找到安装目录然后启动程序。
知道了一个应用程序的安装目录位置,我们也可以通过命令行工具打开,如QQ的位置为:C:\Program Files(x86)\Tencent\QQ\QQProtect\Bin,QQ的应用程序名为为QQProtect.exe,那么我们打开命令行工具,然后进入到“C:\Program Files(x86)\Tencent\QQ\QQProtect\Bin”目录,再输入“QQProtect”,即可运行qq。
如果我们希望打开命令行工具后,直接输入“QQProtect”就能启动qq程序,而不是每次都进入qq的安装目录再启动,这个时候可以通过配置系统环境变量Path来实现。右击“我的电脑”,选择“属性”,在打开窗口中点击左边的“高级系统设置”,出现“系统属性”窗口,在“高级”选项卡下面点击“环境变量”。
编辑系统变量名“Path”,在“Path”变量(字符串内容)的后面追加qq的安装目录:;C:\Program Files(x86)\Tencent\QQ\QQProtect\Bin注意追加的时候要在目录字符串的前面加个英文的分号;,英文分号是用来区分Path里面不同的路径。
确定保存后,再回到命令窗口,不管在任何目录下,你只要输入qqprotect的命令,qq就会启动。
通过启动qq的例子,我们总结下:当要求系统启动一个应用程序时,系统会先在当前目录下查找,如果没有则在系统变量Path指定的路径去查找。前面我们说了JDK包含了一堆开发工具,这些开发工具都在JDK的安装目录下,为了方便使用这些开发工具,我们有必要把JDK的安装目录设置了系统变量。这就是为什么在Windows安装了JDK后需要设置JDK的bin目录为系统环境变量的原因。
为了配置JDK的系统变量环境,我们需要设置三个系统变量,分别是JAVA_HOME,Path和CLASSPATH。下面是这三个变量的设置防范。
JAVA_HOME
先设置这个系统变量名称,变量值为JDK在你电脑上的安装路径:C:\Program Files\Java\jdk1.8.0_20。创建好后则可以利用%JAVA_HOME%作为JDK安装目录的统一引用路径。
Path
PATH属性已存在,可直接编辑,在原来变量后追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。
CLASSPATH
设置系统变量名为:CLASSPATH变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。
注意变量值字符串前面有一个"."表示当前目录,设置CLASSPATH的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。
第三步:下载安装Eclipse
Eclipse为Java应用程序及Android开发的IDE(集成开发环境)。Eclipse不需要安装,下载后把解压包解压后,剪切eclipse文件夹到你想安装的地方,打开时设置你的工作目录即可。
Eclipse的版本有多个,这里选择下载Eclipse IDE for Java EE Developers这个版本。
第四步:下载安装Android SDK
配置了JDK变量环境,安装好了Eclipse,这个时候如果只是开发普通的JAVA应用程序,那么Java的开发环境已经准备好了。我们要通过Eclipse来开发Android应用程序,那么我们需要下载Android SDK(Software Development Kit)和在Eclipse安装ADT插件,这个插件能让Eclipse和Android SDK关联起来。
Android SDK提供了开发Android应用程序所需的API库和构建、测试和调试Android应用程序所需的开发工具。
打开http://developer.android.com/sdk/index.html,我们发现google提供了集成了Eclipse的Android Developer Tools,因为我们这次是已经下载了Eclipse,所以我们选择单独下载Android SDK。
下载后双击安装,指定Android SDK的安装目录,为了方便使用Android SDK包含的开发工具,我们在系统环境变量中的Path设置Android SDK的安装目录下的tools目录。
在Android SDK的安装目录下,双击“SDK Manager.exe”,打开Android SDK Manager,Android SDK Manage负责下载或更新不同版本的SDK包,我们看到默认安装的Android SDK Manager只安装了一个版本的sdk tools。
打开Android SDK Manager,它会获取可安装的sdk版本,但是国内有墙,有时候会出现获取失败的情况。
从弹出的log窗口中,我们可以看到连接“https://dl-ssl.google.com”失败了。我们通过ping命令,发现果然网络不通。
从万能的互联网上,我们找到了解决这个问题的方案,而且行之有效。
更改host文件
首先更改host文件,host文件在C:\Windows\System32\drivers\etc目录下,用记事本打开“hosts”文件,将下面两行信息追加到hosts文件末尾,保存即可。如果你的是windows8系统可能没有权限修改host文件,可以右击hosts文件,将Users组设置为可对hosts文件完全控制的权限即可。
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
上面两行放在host文件的意思是将本地访问dl.google.com和dl-ssl.google.com定向到ip地址为203.208.46.146的服务器上。
将Android SDK Manage上的https请求改成http请求
打开Android SDK Manager,在Tools下的Options里面,有一项Force https://..sources to be fetched using http://...将这一项勾选上,就可以了。
再打开Android SDK Manager.exe,正常情况下就可以下载Android的各个版本的sdk了。你只需要选择想要安装或更新的安装包安装即可。这里是比较耗时的过程,还会出现下载失败的情况,失败的安装包只需要重新选择后再安装就可以了。
如果通过更改DNS也无法下载Android SDK,还有两个方法,第一个是自备梯子FQ,第二个是从这个网站上下载,下载的地址是:http://www.androiddevtools.cn/
第五步:为Eclipse安装ADT插件
前面我们已经配置好了java的开发环境,安装了开发Android的IDE,下载安装了Android SDK,但是Eclipse还没有和Android SDK进行关联,也就是它们现在是互相独立的,就好比枪和子弹分开了。为了使得Android应用的创建,运行和调试更加方便快捷,Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)。
下面是在线安装ADT的方法:
启动Eclipse,点击Help菜单->Install New Software…?,点击弹出对话框中的Add…按钮。
然后在弹出的对话框中的Location中输入:http://dl-ssl.google.com/android/eclipse/,Name可以输入ADT,点击“OK”按钮。
在弹出的对话框选择要安装的工具,然后下一步就可以了。
安装好后会要求你重启Eclipse,Eclipse会根据目录的位置智能地和它相同目录下Android sdk进行关联,如果你还没有通过sdk manager工具安装Android任何版本的的sdk,它会提醒立刻安装它们。
如果Eclipse没有自动关联Android sdk的安装目录,那么你可以在打开的Eclipse选择Window->Preferences,在弹出面板中就会看到Android设置项,填上安装的SDK路径,则会出现刚才在SDK中安装的各平台包,按OK完成配置。
到这里,在windows上的Android上的开发环境搭建就完成了,这时候,你用Eclipse的File——》New——》Project...新建一个项目的时候,就会看到建立Android项目的选项了。
回答的很辛苦 希望给我通过呀 这问题 真不知道该再怎么扩展丰富回答了

㈥ 如何部署android开发环境

第一步:安装JDK

要下载Oracle公司的JDK可以网络“JDK”进入Oracle公司的JDK下载页面(当前下载页面地址为http://www.oracle.com/technetwork/java/javase/downloads/index.html),选择自己电脑系统的对应版本即可。

下载到本地电脑后双击进行安装。JDK默认安装成功后,会在系统目录下出现两个文件夹,一个代表jdk,一个代表jre。

JDK的全称是Java SE Development Kit,也就是Java 开发工具箱。SE表示标准版。JDK是Java的核心,包含了Java的运行环境(Java Runtime Environment),一堆Java工具和给开发者开发应用程序时调用的Java类库。

可以打开jdk的安装目录下的Bin目录,里面有许多后缀名为exe的可执行程序,这些都是JDK包含的工具。通过第二步讲到的配置JDK的变量环境,我们可以方便地调用这些工具及它们的命令。

JDK包含的基本工具主要有:
javac:Java编译器,将源代码转成字节码。
jar:打包工具,将相关的类文件打包成一个文件。
javadoc:文档生成器,从源码注释中提取文档。
jdb:debugger,调试查错工具。
java:运行编译后的java程序。

第二步:配置Windows上JDK的变量环境

很多刚学java开发的人按照网上的教程可以很轻松配置好Windows上JDK的变量环境,但是为什么要这么配置并没有多想。

平时打开一个应用程序,一般是通过桌面的应用程序图标双击或单击系统开始菜单中应用程序的菜单链接,无论是桌面的快捷图标还是菜单链接都包含了应用程序的安装位置信息,打开它们的时候系统会按照这些位置信息找到安装目录然后启动程序。

知道了一个应用程序的安装目录位置,也可以通过命令行工具打开,如QQ的位置为:C:\Program Files (x86)\Tencent\QQ\QQProtect\Bin,QQ的应用程序名为为QQProtect.exe,那么我们打开命令行工具,然后进入到“C:\Program Files (x86)\Tencent\QQ\QQProtect\Bin”目录,再输入“QQProtect”,即可运行qq。

如果希望打开命令行工具后,直接输入“QQProtect”就能启动qq程序,而不是每次都进入qq的安装目录再启动,这个时候可以通过配置系统环境变量Path来实现。右击“我的电脑”,选择“属性”,在打开窗口中点击左边的“高级系统设置”,出现“系统属性”窗口,在“高级”选项卡下面点击“环境变量”。

编辑系统变量名“Path”,在“Path”变量(字符串内容)的后面追加qq的安装目录:;C:\Program Files (x86)\Tencent\QQ\QQProtect\Bin 注意追加的时候要在目录字符串的前面加个英文的分号;,英文分号是用来区分Path里面不同的路径。

确定保存后,再回到命令窗口,不管在任何目录下,只要输入qqprotect的命令,qq就会启动。

通过启动qq的例子,总结下:当要求系统启动一个应用程序时,系统会先在当前目录下查找,如果没有则在系统变量Path指定的路径去查找。前面说了JDK包含了一堆开发工具,这些开发工具都在JDK的安装目录下,为了方便使用这些开发工具,有必要把JDK的安装目录设置了系统变量。这就是为什么在Windows安装了JDK后需要设置JDK的bin目录为系统环境变量的原因。

为了配置JDK的系统变量环境,需要设置三个系统变量,分别是JAVA_HOME,Path和CLASSPATH。下面是这三个变量的设置防范。

JAVA_HOME
先设置这个系统变量名称,变量值为JDK在你电脑上的安装路径:C:\Program Files\Java\jdk1.8.0_20。创建好后则可以利用%JAVA_HOME%作为JDK安装目录的统一引用路径。

Path
PATH属性已存在,可直接编辑,在原来变量后追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 。

CLASSPATH
设置系统变量名为:CLASSPATH 变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 。
注意变量值字符串前面有一个"."表示当前目录,设置CLASSPATH 的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。

第三步: 下载安装Eclipse

Eclipse为Java应用程序及Android开发的IDE(集成开发环境)。Eclipse不需要安装,下载后把解压包解压后,剪切eclipse文件夹到你想安装的地方,打开时设置你的工作目录即可。

Eclipse的版本有多个,这里选择下载Eclipse IDE for Java EE Developers这个版本。

第四步:下载安装Android SDK

配置了JDK变量环境,安装好了Eclipse,这个时候如果只是开发普通的JAVA应用程序,那么Java的开发环境已经准备好了。要通过Eclipse来开发Android应用程序,那么需要下载Android SDK(Software Development Kit)和在Eclipse安装ADT插件,这个插件能让Eclipse和Android SDK关联起来。

Android SDK提供了开发Android应用程序所需的API库和构建、测试和调试Android应用程序所需的开发工具。
打开http://developer.android.com/sdk/index.html,发现google提供了集成了Eclipse的Android Developer Tools,因为这次是已经下载了Eclipse,所以选择单独下载Android SDK。

下载后双击安装,指定Android SDK的安装目录,为了方便使用Android SDK包含的开发工具,在系统环境变量中的Path设置Android SDK的安装目录下的tools目录。

在Android SDK的安装目录下,双击“SDK Manager.exe”,打开Android SDK Manager,Android SDK Manage负责下载或更新不同版本的SDK包,我们看到默认安装的Android SDK Manager只安装了一个版本的sdk tools。

打开Android SDK Manager,它会获取可安装的sdk版本,但是国内有墙,有时候会出现获取失败的情况。

从弹出的log窗口中,我们可以看到连接 “https://dl-ssl.google.com”失败了。我们通过ping命令,发现果然网络不通。

从万能的互联网上,可以找到解决这个问题的方案,而且行之有效。

更改host文件
首先更改host文件,host文件在C:\Windows\System32\drivers\etc目录下,用记事本打开“hosts”文件,将下面两行信息追加到hosts文件末尾,保存即可。如果你的是windows8系统可能没有权限修改host文件,可以右击hosts文件,将Users组设置为可对hosts文件完全控制的权限即可。

203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com

上面两行放在host文件的意思是将本地访问dl.google.com和dl-ssl.google.com定向到ip地址为203.208.46.146的服务器上。

将Android SDK Manage上的https请求改成http请求
打开Android SDK Manager,在Tools下的 Options 里面,有一项 Force https://..sources to be fetched using http://... 将这一项勾选上,就可以了。

再打开Android SDK Manager.exe,正常情况下就可以下载Android的各个版本的sdk了。只需要选择想要安装或更新的安装包安装即可。这里是比较耗时的过程,还会出现下载失败的情况,失败的安装包只需要重新选择后再安装就可以了。

如果通过更改DNS也无法下载Android SDK,还有两个方法,第一个是自备梯子FQ,第二个是从这个网站上下载,下载的地址是:http://www.androiddevtools.cn/

第五步:为Eclipse安装ADT插件

前面已经配置好了java的开发环境,安装了开发Android的IDE,下载安装了Android SDK,但是Eclipse还没有和Android SDK进行关联,也就是它们现在是互相独立的,就好比枪和子弹分开了。为了使得Android应用的创建,运行和调试更加方便快捷,Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)。
下面是在线安装ADT的方法:
启动Eclipse,点击 Help菜单 -> Install New Software… ?,点击弹出对话框中的Add… 按钮。

然后在弹出的对话框中的Location中输入:http://dl-ssl.google.com/android/eclipse/,Name可以输入ADT,点击“OK”按钮。

在弹出的对话框选择要安装的工具,然后下一步就可以了。

安装好后会要求你重启Eclipse,Eclipse会根据目录的位置智能地和它相同目录下Android sdk进行关联,如果你还没有通过sdk manager工具安装Android任何版本的的sdk,它会提醒立刻安装它们。

如果Eclipse没有自动关联Android sdk的安装目录,那么你可以在打开的Eclipse选择 Window -> Preferences ,在弹出面板中就会看到Android设置项,填上安装的SDK路径,则会出现刚才在SDK中安装的各平台包,按OK完成配置。

到这里,在windows上的Android上的开发环境搭建就完成了,这时候,用Eclipse的File——》New——》Project...新建一个项目的时候,就会看到建立Android项目的选项了。

㈦ Android 10(29)适配方案简要说明

Android 10(29)适配方案简要说明

1、根据Google官方文档说明,Android10引入了大量变更

官方文档: https://developer.android.google.cn/about/versions/10/highlights?hl=zh_cn

1.1、Android 10 中的隐私权变更

1.1.1重大隐私权变更

分区存储

针对外部存储的过滤视图,可提供对特定于应用的文件和媒体集合的访问权限 访问和共享外部存储中的文件的应用 使用特定于应用的目录和媒体集合目录

增强了用户对位置权限的控制力

仅限前台权限,可让用户更好地控制应用对设备位置信息的访问权限 在后台时请求访问用户位置信息的应用 确保在没有后台位置信息更新的情况下优雅降级

使用 Android 10 中引入的权限在后台获取位置信息

系统执行后台 Activity

针对从后台启动 Activity 实施了限制 不需要用户互动就启动 Activity 的应用 使用通知触发的 Activity

不可重置的硬件标识符

针对访问设备序列号和 IMEI 实施了限制 访问设备序列号或 IMEI 的应用 使用用户可以重置的标识符

无线扫描权限

访问某些 WLAN、WLAN 感知和蓝牙扫描方法需要获得精确位置权限 使用 WLAN API 和蓝牙 API 的应用 针对相关使用场景请求 ACCESS_FINE_LOCATION 权限

1.1.2更多隐私权变更

标识符和数据: 针对硬件标识符(如 IMEI、序列号、MAC 和类似数据)实施了新限制。

移除了联系人亲密程度信息

随机分配 MAC 地址

对 /proc/net 文件系统的访问权限实施了限制

对不可重置的设备标识符实施了限制

限制了对剪贴板数据的访问权限

保护 USB 设备序列号

摄像头和连接性: 针对摄像头元数据和连接 API 提供了更强大的保护措施。 对访问摄像头详情和元数据的权限实施了限制

对启用和停用 WLAN 实施了限制

对直接访问已配置的 WLAN 网络实施了限制

一些电话 API、蓝牙 API 和 WLAN API 需要精确位置权限

权限 : 针对权限模型和要求的一些变更。

限制对屏幕内容的访问

面向用户的权限检查(针对旧版应用)

身体活动识别

从界面中移除了权限组

1.2影响应用的行为变更

文档: https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh_cn

限制非 SDK 接口: 为了帮助确保应用的稳定性和兼容性,Android 平台开始限制应用在 Android 9(API 级别 28)中使用非 SDK 接口。Android 10 包含更新后的受限制非 SDK 接口列表(基于与 Android 开发者之间的协作以及最新的内部测试)。我们的目标是在限制使用非 SDK 接口之前确保有可用的公开替代方案。

手势导航: 从 Android 10 开始,用户可以在设备中启用手势导航。用户启用后,手势导航会影响设备上的所有应用,无论应用是否以 API 级别 29 为目标平台。例如,如果用户从屏幕边缘向内滑动,系统会将该手势解读为“返回”导航,除非应用针对屏幕的相应部分明确替换该手势。

NDK 方面的变更

共享对象不得包含文本重定位

Bionic 库和动态链接器路径变更

系统二进制文件/库会映射到只执行内存

安全方面的变更

 TLS 1.3 默认处于启用状态

TLS 不信任使用 SHA-1 签名的证书

KeyChain 行为变更和改进

其他 TLS 和加密更改

WLAN 直连广播

在 Android 10 中,以下与 WLAN 直连相关的广播不具有粘性:

WIFI_P2P_CONNECTION_CHANGED_ACTION

WIFI_P2P_THIS_DEVICE_CHANGED_ACTION

如果的应用依赖于在注册时接收这些广播(因为其之前一直具有粘性),请在初始化时使用适当的 get() 方法获取信息。

WLAN 感知功能  

Android 10 扩大了支持范围,现在可以使用 WLAN 感知数据路径轻松创建 TCP/UDP 套接字。要创建连接到 ServerSocket 的 TCP/UDP 套接字,客户端设备需要知道服务器的 IPv6 地址和端口。这在之前需要通过频外方式进行通信(例如使用 BT 或 WLAN 感知第 2 层消息传递),或者使用其他协议(例如 mDNS)通过频内方式发现。而借助 Android 10,可以将此类消息作为网络设置的一部分进行传递。

Go 设备上的 SYSTEM_ALERT_WINDOW

在 Android 10(Go 版本)设备上运行的应用无法获得 SYSTEM_ALERT_WINDOW 权限。这是因为绘制叠加层窗口会使用过多的内存,这对低内存 Android 设备的性能十分有害。

如果在搭载 Android 9 或更低版本的 Go 版设备上运行的应用获得了 SYSTEM_ALERT_WINDOW 权限,则即使设备升级到 Android 10,也会保留此权限。不过,尚不具有此权限的应用在设备升级后便无法获得此权限了。

如果 Go 设备上的应用发送具有 ACTION_MANAGE_OVERLAY_PERMISSION 操作的 intent,则系统会自动拒绝此请求,并将用户转到设置屏幕,上面会显示不允许授予此权限,原因是它会减慢设备的运行速度。如果 Go 设备上的应用调用 Settings.canDrawOverlays(),则此方法始终返回 false。同样,这些限制不适用于在设备升级到 Android 10 之前便已收到 SYSTEM_ALERT_WINDOW 权限的应用。

关于以旧版 Android 系统为目标平台的应用的警告

在搭载 Android 10 或更高版本的设备上,如果用户首次运行以 Android 5.1(API 级别 22)或更低版本为目标平台的应用,则会看到警告。如果此应用要求用户授予权限,则系统会先向用户提供调整应用权限的机会,然后才会允许此应用首次运行。

由于 Google Play 的目标 API 方面的要求,用户只有在运行最近未更新的应用时才会看到这些警告。对于通过其他商店分发的应用,我们也将于 2019 年引入类似的目标 API 方面的要求。如需详细了解这些要求,请参阅在 2019 年扩展目标 API 级别方面的要求。

移除了 SHA-2 CBC 加密套件

以下 SHA-2 CBC 加密套件已从平台中移除:

TLS_RSA_WITH_AES_128_CBC_SHA256

TLS_RSA_WITH_AES_256_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

这些加密套件不如使用 GCM 的类似加密套件安全,并且大多数服务器要么同时支持这些加密套件的 GCM 变体和 CBC 变体,要么二者均不支持。

应用使用情况的变更

UsageStats 应用使用情况方面的改进 - 当在分屏或画中画模式下使用应用时,Android 10 现在能够使用 UsageStats 准确地跟踪应用使用情况。此外,Android 10 可以正确地跟踪免安装应用的使用情况。

按应用开启灰度模式 - Android 10 可针对各个应用设置灰度显示模式。

按应用开启干扰模式 - Android 10 可以选择性地将应用设置为“干扰模式”,此时系统会禁止显示其通知,并且不会将其显示为推荐的应用。

暂停和播放 - 在 Android 10 中,暂停的应用无法播放音频。

HTTPS 连接变更

如果在 Android 10 上运行的应用将 null 传递给 setSSLSocketFactory(),则会出现 IllegalArgumentException。在以前的版本中,将 null 传递给 setSSLSocketFactory() 与传入当前的默认 SSL 套接字工厂效果相同。

android.preference 库已弃用

从 Android 10 开始,将弃用 android.preference 库。开发者应该改为使用 AndroidX preference 库,这是 Android Jetpack 的一部分。如需获取其他有助于迁移和开发的资源,请查看经过更新的设置指南以及我们的公开示例应用和参考文档。

ZIP 文件实用程序库变更

Android 10 对 java.util.zip 软件包(用于处理 ZIP 文件)中的类进行了以下变更。这些变更会让库的行为在 Android 和使用 java.util.zip 的其他平台之间更加一致。

Inflater

在以前的版本中,如果在调用 end() 之后调用 Inflater 类中的某些方法,这些方法会抛出 IllegalStateException。在 Android 10 中,这些方法会改为抛出 NullPointerException。

ZipFile

在 Android 10 及更高版本中,如果所提供的 ZIP 文件不包含任何文件,则 ZipFile 的构造函数(采用的参数类型为 File、int 和 Charset)不会抛出 ZipException。

ZipOutputStream

在 Android 10 及更高版本中,如果 ZipOutputStream 中的 finish() 方法尝试为不包含任何文件的 ZIP 文件写入输出流,则此方法不会抛出 ZipException。

摄像头变更

很多使用摄像头的应用都会假定如果设备采用纵向配置,则物理设备也会处于纵向,正如摄像头方向中所述。在过去可以做出这样的假定,但随着可用的设备类型(例如可折叠设备)的扩展,这一情况发生了变化。针对这些设备做出这样的假定可能导致相机取景器的显示产生错误的旋转和/或缩放。

以 API 级别 24 或更高级别为目标平台的应用应该明确设置 android:resizeableActivity,并提供必要的功能来处理多窗口操作。

电池用量跟踪

从 Android 10 开始,只要在发生重大充电事件之后拔下设备电源插头,SystemHealthManager 就会重置其电池用量统计信息。一般来说,重大充电事件指的是设备电池已充满,或者设备电量从几乎耗尽变为即将充满。

在 Android 10 之前,无论何时拔下设备电源插头,无论电池电量有多微小的变化,电池用量统计信息都会重置。

Android Beam 已弃用

在 Android 10 中,我们正式弃用了 Android Beam,这是一项旧版功能,可通过近距离无线通信 (NFC) 在多个设备之间启动数据共享。我们还弃用了一些相关的 NFC API。Android Beam 仍可供需要的设备制造商合作伙伴使用,但它已不再处于积极的开发阶段。不过,Android 仍将继续支持其他的 NFC 功能和 API,并且从标签和付款中读取数据等使用场景仍将继续按预期执行。

㈧ 电脑怎么下载安卓虚拟机

方法1(安装BlueStacks)
到http://www.bluestacks.cn/下载并安装(之前那个http://www.bluestacks.net.cn听说是假的,小G很抱歉)

方法2(安装官方安卓虚拟机)
一、
提示:如果当前电脑上已安装“jdk-7u40-windows-i586.exe”,可跳过

打开网页http://www.oracle.com/technetwork/java/javase/downloads
点击截图中标示的图标

点击“Accept License Agreement”,即同意条款

特别提示:

在下载之前如果不清楚自己的系统是32位的还是64位的,可以按照以下步骤进行查看:
1、点击系统的【开始】菜单
2、点击【运行】
3、在打开的窗口里输入“cmd”,然后点击“确定”

4、在打开的窗口里输入“systeminfo”,按回车Enter键

5、把滚动条拉上来,找到“系统类型”这一项,如图所示
如果是32位的,会显示X86
如果是64位的,会显示X64
下载截图中标示的文件“jdk-7u40-windows-i586.exe”

安装下载完之后的程序

二、设置环境变量
右键点击桌面上的【计算机】,在弹出的快捷菜单上点击【属性】

点击左边的【高级系统设置】

在【系统属性】窗口点击【高级】页面,再点击【环境变量】

在【环境变量】中的【系统变量】找到变量“Path”,如果没有则新建一个名为“Path”的变量
变量名:Path
变量值:C:\Program Files\Java\jdk1.7.0_40\bin;
如果已经存在变量“Path”,则把上面的变量值追加到原来的变量值后面便可,注意前面的变量值后面有无英文半角状态下的分号,如没有则添加,因为各个变量值均以分号隔开,还要注意中间不要留有空格

新建一个环境变量“JavaPath”
变量名:JavaPath
变量值:.;C:\Program Files\Java\jdk1.7.0_40\libtools.jar;C:\Program Files\Java\jdk1.7.0_40\jre\lib\rt.jar;
注意不要漏掉变量值前面的“.;”

最后点击“确定”保存即可完成环境变量的设置
三、设置系统的hosts文件
以记事本方式打开“C:\Windows\System32\drivers\etc”里面的“hosts”文件
在文件的内容下面添加“74.125.237.1 dl-ssl.google.com”
备注:此步是为了防止Android SDK在线获取文件出错
四、
提示:如果当前电脑上已有“adt-bundle-windows-x86”,可跳过

打开网页http://developer.android.com/sdk
点击下载Android SDK

下载完之后解压,就会得到一个名为“adt-bundle-windows-x86.zip”的压缩

解压后打开文件夹“adt-bundle-windows-x86”

,以当前管理员权限用户运行程序“SDK Manager.exe”

打开程序后,安装如下图所示的几个文件
勾选“Android SDK Platform-tools”、“Android SDK Platfrom-tools”、“Android SDK Build-tools”
自由选择想要安装的安卓系统版本,小G在此选择的是“Android 4.2.2”
点击“Install X packages...”

在弹出的窗口中,选择“Accept License”,点击“Install”,即确定安装刚才勾选的文件

如下图所示,文件安装完成

安装完之后打开“...\adt-bundle-windows...\sdk”文件下的“AVD Manager”

点击“New...”新建一个,设置如下所示

设置完之后点击“OK”

点击“Start...”开始启动虚拟机

点击“Launch”正式启动虚拟机;Monitor dpi可以调整虚拟机屏幕大小

键盘Ctrl+F11可以横向显示屏幕,注意此Ctrl键是键盘左下角的Ctrl键

备注:此方法无论启动或运行速度都是很慢的,而且在运行某些游戏的时候容易出错

方法3(安装Oracle VM VirtualBox)
一、
去官网下载https://www.virtualbox.org/wiki/Downloads安装包

下载完成后,安装软件

二、下载安卓系统镜像文件
去http://code.google.com/p/android-x86/downloads/list下载镜像文件android-x86-4.0-r1-eeepc.iso

备注:android-x86-4.3-20130725.iso不用再另外进行网络设置,在线播放歌曲时有杂音且卡顿

三、

提示:类型选择“BSD”,同时版本选择“FreeBSD”亦可,UNIX系统

提示:选择VMDK亦可

自行设置虚拟硬盘的存放位置

点击“设置”

可以在“常规”的“高级”里面设置备份的位置

可以在“显示”里面显存的大小

在“存储”里面点击“没有盘片”导入镜像文件android-x86-4.0-r1-eeepc.iso

点击“确定”,设置完毕

点击“启动”

提示:可以使用键盘方向键移动光标来选择操作项,按回车键“Enter”确认操作即可

选择“New”新建磁区

选择磁区属性为“Primary”

确定默认磁区大小

设置为启动磁区

将磁区写入硬盘

输入“yes”确认

退出设置

“Enter”确认新建磁区

选择“ext3”

确定以“ext3”格式化磁盘

确认安装

确认读写权限

运行安卓虚拟系统
提示:如果提示新建一个虚拟的SD卡也可以创建

使用键盘右边的Ctrl+I来切换鼠标在虚拟机界面上与在电脑界面上的操作

移除虚拟盘,不然下次启动又会回到初始状态

下次启动默认首选项即可

备注:
此软件为免费软件

Android 4.0 的网络设置如下所示

小G亲测,如果是通过电脑与无线路由直连网线上网的,无需在终端模拟器上输入命令即可上网
终端模拟器命令:
su
dhcpcd eth0
setprop net.dns1 169.254.247.179
(其中169.254.247.179为电脑上的DNS,可以通过cmd里输入ipconfig /all查询DNS)
终端模拟器命令:
ip a
可以查询当前安卓模拟器的IP地址
如果像小G之前是通过一个Client客户端模式的迷你无线路由器连电脑“无线”上网的,则无论在终端模拟器上输入任何命令都无法上网,因为通过
终端模拟器命令:
su
adb shell
getprop
无法看到有任何一项DNS[net.dns1],如果是电脑通过网线直连家里的无线路由器上网的使用getprop命令可以看到[net.dns1]是什么
Android 4.3无需在VirtualBox的网络上作任何设置,也无需在安卓系统的终端模拟器上输入命令默认即可上网

㈨ android studio怎么安装

1.安装前准备
1.1 安装 jdk
在安装AndroidStudio之前请确保你已经安装了jdk并配置好了。
1.2 下载AndroidStudio
到AndroidStudio下载页面去下载http://developer.android.com/sdk/installing/studio.html
2.安装
2.1安装步骤
安装时一路nxet即可,需要注意的是,你安装了jdk,他会自动找到你jdk的路径,没安装的话,应该会提示错误
3.启动AndroidStudio,新建Android工程
3.1初始化
第一次启动会提示你可以导入以前的配置文件,第一次用AndroidStudio,怎么会有以前的配置,所以选择下面的没有setting文件,即可。
然后来到欢迎页面,可以新建工程,可以导入工程,我们选择新建工程,
3.2新建工程
注意下图红框中的两个文本框,package name默认是com.example.项目名,改掉,不要使用com.example开头的名称
Project location 文本框,这个经我实际来操作,必须使用默认路径,任何的改动都会报错。因为是0.1预览版,我猜测这应该属于Bug。
然后一路next,
3.3启动不了,gradle-1.6-bin.zip下载不下来的解决办法
遇到这个错误的人,是因为国内的G(和谐)F(和谐)W比较强大。
下面说一下怎么解决,方法一就是翻(和谐)墙,自己想办法去吧。方法二就是下载gradle-1.6-bin.zip离线包,下载地址http://download.csdn.net/detail/zjilvufe/5395393,不需要下载积分,感谢上传者的无私奉献。
下载完之后,解压到任何位置,在环境变量的path配置到gradle的bin目录即可
3.4新建Android工程
配置好gradle的环境变量之后,关闭AndroidStudio,重新打开AndroidStudio,重复步骤3.2,新建工程,一路next,你会发现能够顺利的新建工程了,不过构建项目过程很慢,请耐心等待。

㈩ 修改应用图标失败解决方法

Android应用图标修改后真机显示不更新的问题

这个问题当时我是在网上看了很多博客,大多是说卸载应用、重启手机等,但是这些方法只是适用于部分手机,而且现在的技术博客太千篇一律,互相抄袭,后来还是自己试验出了解决方法:

网络下发现MIUI等也有类似的问题,基本确定是Launcher对应用图标建立了缓存,最直接的破除缓存的方法就是修改应用的Package Name,换包名后重装图标就会显示正确,明显就是没有缓存的特征!然而,应用发布过后一般是不会更换包名的,所以这个方法实际应用意义不大,仅仅是确认了这个图标缓存的机制。

这之后又查到了一些解决方法,如删除 /data/system/customized_ icon s 路径下的响应图标(这个需要root,且在5.0上没有这个路径,估计是Pre Lollipop用的),再如杀掉Launcher的进程,强制其重启刷新缓存(这个貌似不科学,因为重启Launcher的话应该和重启系统性质是一样的,但是我试过重启机器后图标依然没有刷新,再有就是CM上也没找到明显的Launcher进程,只有个systemui看起来比较像,不过也不敢强制结束,怕玩坏啊,哈哈!),这之后又自己尝试了下别的可能作为缓存key的要素,如改VersionCode,改VersionName,同时改VersionCode和VersionName,改res下的图标文件名等,均无效!

这中间还穿插个小注意:以前一直认为Android应用的图标就放在各种Drawable下就好了,但是后来发现Android Studio生成的项目中图标ic_launcher.png是放在各种叫mipmap的res子资源文件夹下,于是查了下官方文档,发现了这里: http://developer.android.com/intl/zh-cn/tools/projects/index.html#mipmap ,简单说就是官方建议将作为图标的res资源放入mipmap文件夹,理由是 drawable 中各种dpi的版本有可能会被系统优化掉,比如设备是xxhdpi的,那么ldpi、mdpi、hdpi等无关的会被去掉,这就导致Launcher或其它位置在显示应用的图标时可能用到不合适的分辨率版本,导致显示失真变渣。解决方法就是将图标文件归入mipmap文件夹中,这样可以保证各个分辨率版本不会被dpi无关优化掉。

发现上面提到的这个小问题时,还以为可以用mipmap的方式来保证图标修改后的更新,不过结果依然是:不管用!

以上如果没有解决问题,那么就说明你的应用图标被缓存了,但是改包名涉及到的地方比较多,SO :

可以通过更换主题的方式强制让手机刷新所有App的Icon,于是恍然大悟,真是Good Idea啊,打开手机的主题管理,换了一个,然后马上又换了回来,切回应用图标列表,小等了一下,图标果然刷新了,而且还有一些别的应用图标也变了(网络贴吧等),感觉这就是个主题图标缓存机制设计的坑!

阅读全文

与developerandroidcn相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:485
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163