在AndroidMenifest.xml中,常常会有下面的语句:  <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10" android:maxSdkVersion="10" /> 在default.properties中,会看到下面的语句:  target=android-10 如果是使用Eclipse的话,还可能会看到这样的警告: Attribute m…
minSdkVersion 描述:app最低支持的sdk版本号 作用:如果手机SdkVersion小于app中定义的minSdkVersion,则android系统不允许安装该app 定义位置:AndroidManifest.xml 默认值:1 检测时机:app安装 maxSdkVersion 描述:app最高支持的sdk版本号 作用:如果手机SdkVersion大于app中定义的maxSdkVersion,则android系统不允许安装该app 定义位置:AndroidManifest.xml…
compileSdkVersion: 编译版本:compileSdkVersion告诉gradle使用哪个版本AndroidSDK编译你的应用: minSdkVersion: 最低SDK版本:他代表的意思是你的App最低支持的手机版本.如果你的minSdkVersion设置成了16(Android4.0),那么Apk在16以下系统的手机无法安装: targetSdkVersion: API目标版本:随着 Android 系统的升级,某个系统的 API 或者模块的行为可能会发生改变,但是为了保证老…
1.参考文章关于compileSdk.minSdk.targetSdk的文章 http://chinagdg.org/2016/01/picking-your-compilesdkversion-minsdkversion-targetsdkversion/ 关于tools的文章 http://blog.csdn.net/mooreliu/article/details/47167473 2.minSdkVersion.compileSdkVersion.targetSdkVersion2.1.…
对这几个概念模模糊糊,看到一篇文章就记录下来. 当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本.这对你的应用意味着什么,所有东西都不能用了?别担心,向前兼容是 Android 非常关注的事情.用户在升级到新版 Android 的时候,用以前版本的 SDK 构建的现有应用应该不会出问题.这就是 compileSdkVersion, minSdkVersion 和 targetSdkVersion 的作用:他们分别控制可以使用哪些 API ,要求…
在一年之中,也有可能只是几个月后,你会发布你的Android应用程序.但是这中间有可能会发布新的版本的Android系统,比如:6.0+. 你肯定希望你的应用可以向前兼容,当用户升级到新的Android系统时候,你的应用调用的系统API不会编译失败,也不会Crashing. 这时候就要考虑一下三个参数了:compileSdkVersion, minSdkVersion, and targetSdkVersion (它们标识什么版本的API可以使用,应用兼容的版本,编译需要的API版本) comp…
英文原文:Picking your compileSdkVersion, minSdkVersion, and targetSdkVersion 作者:Ian Lake,Google Android 推广工程师:翻译:韩国恺. 当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本.这对你的应用意味着什么,所有东西都不能用了? 别担心,向前兼容是 Android 非常关注的事情.用户在升级到新版 Android 的时候,用以前版本的 SDK 构建的现…
1. minSdkVersion minSdkVersion限制安装application所需要的系统最低版本,低于该版本的系统都不可以安装该application.同时不能使用该level版本SDK所不具备的API,例如在minSdkVersion为8的application中调用[this.getActionBar()]就会出现Call requires API level 11 (current min is 8): android.app.Activity#getActionBar的错误…
来自:http://www.2cto.com/kf/201604/496917.html 今天又有人问Tools,Build-Tools,Platform-tools有什么区别,是干嘛的? 现在对SDK目录做一下总结阐述! SDK目录 add-ons 这里面保存着附加库,第三方公司为android 平台开发的附加功能系统.比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面. docs 这里面是Android SDKAPI参考文档,所有的API都可以在这里查到.…
本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超博客 Android中文Wiki AndroidStudio-NDK开发-移动开发团队谦虚的天下 - 博客园gundumw100博客 - android进阶分类文章列表 - ITeye技术网站CSDN博文精选:Android系列开发博客资源汇总 - CSDN.NET - CSDN资讯Android笔…
使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进.在此,把这些相关的东西记录,做一总结. 1. 替换AndroidManifest中的占位符 我想把其中的${app_label}替换为@string/app_name android{ defaultConfig{ manifestPlaceholders = [app_label:"@string/app_name"] } } 如果只想替换debug版本: and…
原文简书地址:http://www.jianshu.com/p/dca9c323c686 1 前言 平时如果想要替换包名一般是在AS中右键Rename进行操作.但是如果遇到一份代码希望导出几种不同的包名(不是ApplicationId),并且代码还会持续更新,这时候就需要使用脚本在打包时自动导出成不同包名的apk. 有的人会说直接可以在build.gradle里面的productFlavors里面设置,然后用placeHolder填充包名就行啦. 注意,这时候就要区分ApplicationId和…
如果是你想干的事情,在别人看起来可能是很难的一件事,不过你自己很喜欢,你不会觉得很苦.我开始创业那会是28岁.对我来讲,我创业的目的不是为了自己当老板,我希望有一个平台有一个环境,我可以控制一些资源,让我去创造一个新的产品和服务: —— 周鸿祎 Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言. 当然,我们现在最多都是在Android Studio的项目中,和我一样没有接触过的就…
不知道是什么网络问题,上午一直发不了博客,其它页面基本正常,就是在写博客这里,每次打开都是响应超时.刚才用了VPN,顺便试了一下,竟然能够编辑.想是CDN之类的问题吧. 这次翻译的是Gradle 插件用户指南,也就是Gradle上的Android插件的官方文档.文档非常长,加上近期激情不够,翻译得有些慢.到昨天为止,才译到第四章.今天先发前三章. 本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/…
在目前移动互联网时代,每个 APP 就是流量入口,与过去 PC Web 浏览器时代不同的是,APP 的体验与迭代速度影响着用户的粘性,这同时也对从事移动开发人员提出更高要求,进而移动端框架也层出不穷. 上图显示的是传统的服务端架构和客户端 App 架构对比.传统的服务端架构中最底下是一个 OS,一般是 Linux,最上面服务端的业务,而中间有非常多的层次可以在架构上,按照我们的意愿搭建中间的各个层次的衔接环节,使得架构具有足够的灵活性和扩展性.但是到了 App 就会面对一个完全不同的现状,App…
问题 在已经开发过几个项目的童鞋,如果这时需要重新开发一个新项目,是否需要自己重新搭建框架呢,还是从老项目中拷贝粘贴? 我们是否可以封装一个底层的lib库,这个底层的公共基础库 包括了一些第三方库(如: okhttp, retrofit2, glide 等)的初始化及简单的封装和一些公共的base类.这样我们重新开发一个新项目只要依赖这个库就马上可以进行业务逻辑的开发了. 什么是组件化 组件化简单概括就是把一个功能完整的 App 或模块拆分成多个子模块, 每个子模块可以独立编译和运行, 也可以任…
Android SDK下载和安装 本地已有合适版本Android SDK,则无需再下载,或者可以使用SDK Manager更新SDK: 没有SDK,则需要下载. 这里说一下使用SDK Manager下载/更新SDK: (1)如果没有安装SDK Manager,可以下载安装,地址 https://github.com/inferjay/AndroidDevTools#sdk-tools,下载完毕,直接运行安装就可以,安装过程中会自动匹配本机环境下的jdk: 进入到安装目录下: (2)启动SDK M…
extends:http://blog.csdn.net/h3c4lenovo/article/details/42011887 , http://www.linuxidc.com/Linux/2015-12/126430.htm 当我们在做微信微博sdk分享的时候调试非常麻烦,因为要使用对应的签名版本才能调用sdk成功. 当我们使用AndroidStudio的Gradle之后会很简单的解决这个问题. 1.我们把签名文件放到工程根目录下(这样做是为了保持路径的统一) 2.在Gradle中引入如下…
一.build.Gradle 这个 build.Gradle 文件来自 drakeet 大神的 Meizi 项目我直接在代码上加注释,参照着注释看代码就行,是不是发现有很多代码平时都没看见过. //Model都有各自的build.gradle,这里声明该Model作为主项目,常见的还有另一个取值: //apply plugin: 'com.android.library' 声明该Model作为库使用,当然还有其他取值,后面博客会介绍 apply plugin: 'com.android.appl…
1.使用gdx-steup.jar生成的desktop项目导入idea运行报如下错误,如何解决? 答:原因是assets目录默认是普通目录,idea编译项目时不会把普通目录下的内容输出到classpath下,导致找不到文件,设置为资源目录即可解决 如果项目包含android模块,需要把android模块添加到目标模块依赖中,否则仍然会抛出找不到文件异常,因为创建项目时如果勾选了android模块,assect目录会被放到android模块中 如果还不行,最后的解决方案可以参考这篇博客https:…
出错现象: 大概意思是找不到:com.android.application 插件,以上现象对于初学者来说会经常碰到,下面分析下产生的原因. 原因分析 首先来看看导入后的工程结构: 对于此工程结构,是否有个疑问? 这是未正常同步完成的结构,Gradle Scripts下面似乎少了个 build.gradle ,上图红框部分描述清楚了是 Module: GraphicsDemo ,表示该 build.gradle 是Module的,而不是Project的.来看看一个正常的 Project+Modu…
最近,在项目DYTT集成了热更新,简单来说,就是不用重新下载安装包即可达到更新应用的目的,也不算教程吧,这里记录一下. 1.热更新方案 目前网上大概有两个比较广泛的方式,分别是 react-native-pushy react-native-code-push 前者是由ReactNative中文网推出的代码热更新服务,后者是由微软老大哥推出的,当然不仅仅是为React Native,还包括其他原生方式. 综合考虑之下,选择了react-native-code-push. 2.安装code-pus…
转载请事先沟通,未经允许,谢绝转载. 1. 新工具介绍(Introduction) 能够复用代码和资源能够构建几种不同版本参数的应用能够配置.扩展.自定义构建过程1.1 为什么选择Gradle(Why Gradle?) Gradle是一款具有优势的构建工具,通过插件可以自定义构建过程.主要优势如下: 基于Groovy的领域特定语言(DSL),用于描述和操作构建过程支持maven/lvy的依赖管理非常灵活,并不强迫用户一定要使用最佳的构建方式插件可以暴露自身的语言和接口api给构建文件使用支持ID…
1,Android Studio 版本的选择 写这篇的时候,官方版本已经到了 v3.2.0,而我习惯使用的版本是 v2.3.1,因为这个版本有自带sdk的安装版,比较方便, 同时,v2.3.1 新建项目是用的Gradle v3.3 版本 2,各种东西的版本问题 AS相较于Eclipse而言,AS最恶心的东西莫过于各种东西的版本号对应关系,错一点儿都各种异常,v2.3.1的一些默认版本信息: apply plugin: 'com.android.application' android { com…
我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在Android工程中接入Google的AdMob. 关于AdMob AdMob是Google的一个广告平台,现在市面上(国外)的大部分免费游戏都是靠接入AdMob广告赚钱. AdMob提供了iOS,Android,Unity以及Cocos四大平台的SDK. 如果想在Unity游戏中接入AdMob,最快的…
目录 gradle 两个build.gradle文件 最外层目录下的build.gradle文件 jcenter dependencies闭包 app目录下的build.gradle文件 com.android.application android闭包 defaultConfig闭包 applicationId minSdkVersion targetSdkVersion versionCode versionName buildTypes闭包 debug闭包 release闭包 minify…
1 前言 我们都知道,Android的版本在不断的迭代,并且每个版本都加入了不同的新特性.那么随着Android的用户量越来越多,Android的开发人员就必须熟悉Android各个版本的特性并且确保自己的应用能够正常运行在不同版本中. 由于Android的版本实在太多,开发人员的精力总是有限的,不可能一下子都能兼顾得到所有的版本,这个时候,我们就必须通过一种方式能够说明当前应用能够支持的最低Android版本.最高版本,同时系统能够自动获取到这些信息并且判断当前系统版本是否支持该应用,不支持的…
Unity调用Android类方法 1.  添加Unity的classes.jar文件 创建一个Android工程AndroidUnityDemo. 由于Unity的版本不同,直接在Unity安装包文件夹里面搜索classes.jar文件,如果有多个classes.jar文件,一般选择的是mono/Release文件夹下的classes.jar文件. 将classes.jar文件放在app文件下的libs文件夹下. 然后,更新一下. 2.  编写Android类 打开MainActivity.j…
转载请标明出处: http://www.cnblogs.com/why168888/p/5978381.html 本文出自:[Edwin博客园] 我引用compile 'com.squareup.retrofit2:converter-jackson:2.1.0'Gradle没有错误,运行APP就出了这个error. 错误日志:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> c…
在Project的build.gradle脚本中定义一些全局变量 ext { compileSdkVersion = 21 buildToolsVersion = "24.0.1" minSdkVersion = 9 targetSdkVersion = 19 versionCode = 29 versionName = '3.1.0' targetCompatibility = 1.7 sourceCompatibility = 1.7 } 在Module的build.gradle脚…