首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2014-10-25Android学习--------Android应用工程文件组成

Android Library:这个是应用程序运行的Android库 assets目录:里面主要放置多媒体等一些文件,还有一个我们做phoneGap应用程序的时候,里面放www文件夹 res目录:里面主要放置应用程序用到的资源文件..." android:versionCode="1" android:versionName="1.0" > uses-sdk android:minSdkVersion...:声明应用程序的包 application:包含package中application级别组件的声明的根节点,此元素也可以包含application的一些全局和默认的 属性,如标签,icon,主题,必要的权限等等...是用户打开一个应用程序的初始页面,大部分被使用到的其他页面也由 不同的activity所实现,并声明在另外的activity标记中,要注意:每一个activity必须有一个标记对 应...:该应用程序所使用的SDK版本相关

40320

App工程从Eclipse迁移到Android Studio的问题总结

” 2、去掉不存在的组件声明,包括activity、service、receiver等等,否则编译时报错“Unresolved class ***” 适配Gradle与SDK版本 1、关于minSdkVersion...最低支持的SDK版本为9,如果minSdkVersion小于9,则编译时报错“uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared...Minimum required is 25.0.0” Gradle版本与编译工具版本号对应关系表如下: Gradle版本 Gradle库的路径 编译工具的最小支持版本号 3.2 classpath...保持一致 1、有的类和函数在Android5.0之后才提供,个别迟至Android6.0之后才提供,此时要注意在代码中增加对Build.VERSION.SDK_INIT的版本号判断。...Android6.0之后Notification取消了setLatestEventInfo方法,此时需要使用Notification.Builder来构造通知内容; 解决合并依赖库打包的问题 1、

1.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    安卓开发_浅谈Fragment之ListFragment

    视图,返回的也是一个只有ListView的布局对象 2、ListFragment 不需要指定布局,本身固定,只有一个ListView视图 3、给ListFragment中的ListView加载数据或者绑定适配器都只能出现...onCreateView(),因为onCreateView方法之后,ListView对象才创建, 4、给 ListView设置适配器 用setListAdapter 5、ListFragment已经实现了其ListView中的数据项的事件监听...清单文件中需要改最低SDK版本为11 uses-sdk android:minSdkVersion="11" android:targetSdkVersion="21"...则清单文件不需要改动 1 package com.xqx.listviewfragment; 2 3 import android.os.Bundle; 4 import android.app.Activity...15 private ArrayAdapter adapter; //ListView的适配器 16 17 @Override 18 public void onCreate

    2.1K80

    SVG,Vector,gradle

    5.2 模块的build.gradle //声明插件,表明这是一个Android程序;如果是库,那么应当是com.android.library apply plugin: 'com.android.application...minSdkVersion:应用最低可运行的要求;它必须要大于等于你所依赖的库的minSdkVersion; targetSdkVersion:Android提供向前兼容的重要依据。...minSdkVersion和targetSdkVersion最终会被包含进入最终的APK文件中,如果你查看生成的AndroidManifest.xml,那么会发现: uses-sdk android:...声明第三方maven库 如果项目中需要的一些库文件不再中央仓库中,而是在某个特定地址里,那么就需要在Project中的build.gradle中的allprojects结点下或者直接配到某个模块中:...jar :只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。

    7310

    我写了款依赖检查的工具

    的适配中,如果 activity、received 和 service 有使用 intent-filter,则必须显示申明 exported 的值,否则应用将无法在搭载 Android 12 或更高版本的设备上进行安装...工具检测效果如下: image.png 4、未匹配的权限检查 在我们的应用开发中,会对所有的权限申明进行管控,每个敏感权限的申请都需要经过团队的把关,也即意味着权限不能乱申请和乱用。...工具检测效果如下: image.png 5、uses-sdk 检查 manifest 中一些全局性配置,对 apk 安装和运行时行为具有重要影响,最为典型的就是 minSdkVersion和 targetSdkVersion...-- 插件会读取 uses-sdk ,如果分析出的依赖不等于 targetSdk 或是如果不等 minSDK 则会输出分析--> uses-sdk android:minSdkVersion...四、总结: 基于工程腐化系列的文章其实可以做很多的检查,比如混淆章节中: layout 中引用不存在的 class 需要进行检查,而且在 apk 编译过程中,并不会引发构建失败,但依然会生成相对应的keep

    61830

    AndroidManifest.xml详解

    -- Beware that these values are overridden by the build.gradle file --> uses-sdk android:minSdkVersion...不能用16进制,也就是说不接受0x1这种参数 android:versionName 显示给用户看的版本号。... 声明实现应用部分可视化界面的 Activity(一个 Activity 子类)。必须用清单文件中的 元素表示所有 Activity。...广播接收器允许应用接收由系统或其他应用广播的 Intent,即使应用的其他组件并没有运行也是如此。让系统知道广播接收器有两种方法:一种方法是使用此元素在清单文件中声明广播接收器。...必须用清单文件中的 元素表示所有服务。系统不会识别和运行任何未进行声明的服务。 android:enabled 系统是否可实例化服务 true表示可以,false表示不可以。

    3.8K21

    学(kao)习(bei)官方关于64k异常处理 ^_^

    minSdkVersion 15 targetSdkVersion 26 multiDexEnabled true } ... } dependencies...Dalvik 可执行文件分包支持库的局限性 Dalvik 可执行文件分包支持库具有一些已知的局限性,将其纳入APP应用构建配置之中时,我们应该注意这些局限性并进行针对性的测试: 启动期间在设备数据分区中安装...拓展以下知识: 声明主 DEX 文件中需要的类 为 Dalvik 可执行文件分包构建每个 DEX 文件时,构建工具会执行复杂的决策制定来确定主要 DEX 文件中需要的类,以便应用能够成功启动。...(不执行代码压缩); 最重要的是,模块 DEX 文件不执行合并操作,因此可以避免为确定主 DEX 文件的内容而进行长时间的计算。...提示:由于有适用于不同 Dalvik 可执行文件分包需求的不同构建变体,因此也可以为不同变体提供不同清单文件(这样,只有适用于 API 级别 20 和更低版本的清单文件会更改 标记名称),或者为每个变体创建不同的

    97620

    App Startup 源码分析

    禁用单个组件的自动初始化 要禁用单个组件的自动初始化,请从清单中删除该组件的初始化程序的 条目。...com.example.ExampleLoggerInitializer" tools:node="remove" /> 您可以在条目中使用 tools:node="remove"而不是简单地删除条目,以确保合并工具还从所有其他合并清单文件中删除了条目...禁用所有组件的自动初始化 要禁用所有自动初始化,请从清单中删除 InitializationProvider 的整个条目: <provider android:name="androidx.startup.InitializationProvider...源码分析 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3rQBIy9T-1594122519143)(/Users/tanzx/Note/Android/第三方库/startup-runtime...Android 版本为 14,该库当前适配的版本为 19 。

    1.3K00

    Android Study 之学(kao)习(bei)官方关于64k异常处理 ^_^

    注:如果项目配置时所面向的 Dalvik 可执行文件分包使用的是 minSdkVersion 20 或更低版本,并且将其部署到运行 Android 4.4(API 级别 20)或更低版本的目标设备上,则...因此,如果 minSdkVersion 为 21 或更高值,则不需要 Dalvik 可执行文件分包支持库。...而关于是否要替换 Application 类,只需要执行以下操作之一即可: 如果没有替换 Application 类,直接在编辑清单文件中按如下方式设置 标记中的 android:name: ?...拓展以下知识: 声明主 DEX 文件中需要的类为 Dalvik 可执行文件分包构建每个 DEX 文件时,构建工具会执行复杂的决策制定来确定主要 DEX 文件中需要的类,以便应用能够成功启动。...提示:由于有适用于不同 Dalvik 可执行文件分包需求的不同构建变体,因此也可以为不同变体提供不同清单文件(这样,只有适用于 API 级别 20 和更低版本的清单文件会更改 标记名称),或者为每个变体创建不同的

    83410

    Multidex记录一:介绍和使用

    对于DEX文件,则是将工程所需全部class文件合并且压缩到一个DEX文件期间,也就是Android打包的DEX过程中, 单个DEX文件可被引用的方法总数(自己开发的代码以及所引用的Android框架、...类库的代码)被限制为65536。...因此,如果您的 minSdkVersion为 21 或更高值,则不需要 Dalvik 可执行文件分包支持库。...方案的应用可能不能在低于Android 4.0 (API level 14) 机器上启动,这个主要是因为Dalvik linearAlloc的一个bug ; 采用MultiDex方案的应用因为需要申请一个很大的内存...因此,如果您收到 java.lang.NoClassDefFoundError,则必须使用构建类型中的 multiDexKeepFile 或 multiDexKeepProguard 属性声明它们,以手动将这些其他类指定为主

    1.7K10

    【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 )

    文章目录 一、模块化 与 组件化 模式控制 二、applicationId 设置 三、使用 sourceSets 配置组件模式下使用的清单文件 四、组件模式 与 集成模式 切换示例 五、完整的 Gradle...博客资源 上一篇博客 【Android 组件化】使用 Gradle 实现组件化 ( Gradle 变量定义与使用 ) 中 , 在顶层的 build.gradle 中定义了相关参数变量 ; 在顶层的 build.gradle...中定义全局的变量 , 用于统一管理各个 Module 的编译相关版本号 ; 全局变量可以定义在 ext 扩展 中 , 也可以定义在 gradle.properties 属性 中 ; 组件化的本质就是可以实时切换依赖库...Module 的属性 , 该 Module 是 Application 可执行模块 , 还是 Library 依赖库模块 ; 一、模块化 与 组件化 模式控制 ---- 在顶层 build.gradle...都放在该目录中 ; 下图中 , 蓝色矩形框中是默认的清单文件 , 在 集成模式 下的 Library Module 中使用 ; 红色矩形框中是 组件模式 下使用的清单文件 , 在 Application

    77810

    AndroidStdio1_2

    构建时,库会按照一次一个的方式与应用合并,并按照从低到高的优先级顺序进行。 • 资源合并冲突:构建工具会将库模块中的资源与相关应用模块的资源合并。...在这种情况下,相关应用必须针对包含外部库(例如Google API插件)的目标构建。需要注意的是,库模块和相关应用都必须在其清单文件的元素中声明外部库。...• 应用模块的minSdkVersion必须大于或等于库定义的版本:库作为相关应用模块的一部分编译,因此,库模块中使用的API必须与应用模块支持的平台版本兼容。...implementation:不可传递依赖引用,也就是上例中,C不能依赖A的引用或者依赖。 因此,implementation的编译时间会短一些。...增加限制是为了保护可能被误用以致破坏或损害用户体验的关键代码。 如果应用需要访问受权限保护的功能,就必须在清单中使用元素声明应用需要该权限。

    1.8K20

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ⑤ ( 优化 Gradle 构建脚本 | 构建脚本结构 | 闭包定义及用法 | 依赖配置 | android 块配置 )

    文章目录 一、Gradle 构建脚本结构 二、Gradle 脚本中定义闭包 三、Gradle 脚本中变量的定义与使用 四、dependencies 依赖设置 五、设置 android 脚本块 1、设置编译版本和编译工具版本..., 这里 使用 map 集合 存储 依赖库 , 键 为 依赖库名称 , 值 为 依赖库的完整路径 ( 依赖库组名:依赖库名称:依赖库版本号 ) ; 这是 implementation 类型的依赖 ;.../** * 定义 map 集合 libs * Key : 依赖库名称 * Value : 依赖库的完整路径 依赖库组名:依赖库名称:依赖库版本号 * 之后如果设置新的依赖..., 对 Project 进行了扩展 , 声明了 android 扩展配置 ; 1、设置编译版本和编译工具版本 /** * 这里注意闭包中的属性查找策略...* Value : 依赖库的完整路径 依赖库组名:依赖库名称:依赖库版本号 * 之后如果设置新的依赖 , 都添加到 libs 目录下 */ libs = [

    1.4K21

    Android之网络下载与图片解码-----网络图片浏览器

    2.android的媒体库已经完成了图片,音视频解码,图片解码主要是BitmapFactory库来完成,解码处理的位图在再imageView进行展示即可 3.由于网络涉及到用户的隐私权限,所以必须在清单文件中注册...在开发中,为了防止访问网络阻塞主线程,一般都要把访问网络放在独立线程中或者异步线程AsyncTask中。...另外在类的前面,要加上@SuppressLint("NewApi")才行。 清单文件如下: minSdkVersion="8" android:targetSdkVersion="19" /> 不能查询下载完毕的状态,从而达到下载和解码的同步,这里暂且用2s 延时来等等下载完毕,但有时网络不好,3s延时也不够用。造成第一次点击button后,没图片显示,必需第二次后才显示。

    42420
    领券