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

编译Android N时不带Jack

是指在编译Android N版本时不使用Jack编译器。Jack是一种用于Android应用程序的Java源代码转换工具,它将Java源代码转换为Dalvik字节码,以便在Android设备上运行。然而,在Android N版本中,Google宣布将使用新的Java字节码转换工具D8替代Jack。

D8是Google开发的下一代Java字节码转换工具,它具有更高的性能和更好的兼容性。相比之下,Jack在处理大型项目时可能会遇到一些性能问题,并且可能与一些第三方库不兼容。因此,Google决定在Android N版本中不再默认使用Jack,而是推荐使用D8。

不带Jack编译Android N版本的优势包括:

  1. 性能改进:D8相对于Jack具有更高的性能,可以更快地将Java源代码转换为Dalvik字节码。
  2. 兼容性提升:D8在处理第三方库时具有更好的兼容性,可以避免一些与Jack相关的兼容性问题。
  3. 未来发展:Google将继续改进和优化D8,使其成为Android应用程序开发的首选工具。

应用场景:

不带Jack编译Android N版本适用于任何需要在Android N及以上版本上运行的应用程序。无论是开发新应用程序还是更新现有应用程序,都可以选择使用D8进行编译。

推荐的腾讯云相关产品和产品介绍链接地址:

腾讯云提供了一系列与云计算相关的产品和服务,以下是一些推荐的产品:

  1. 云服务器(CVM):提供可扩展的计算能力,用于部署和运行Android应用程序。了解更多:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CDB):提供高可用性和可扩展性的数据库服务,用于存储Android应用程序的数据。了解更多:https://cloud.tencent.com/product/cdb_mysql
  3. 云存储(COS):提供安全可靠的对象存储服务,用于存储Android应用程序的静态资源和文件。了解更多:https://cloud.tencent.com/product/cos

请注意,以上推荐的产品仅代表腾讯云的一部分产品,更多产品和服务可在腾讯云官网上查看。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android APT】编译技术 ( 开发编译注解 )

文章目录 一、编译注解 二、编译注解 使用 三、注解的保留时间 四、博客资源 一、编译注解 ---- 上一篇博客 【Android APT】编译技术 ( 编译注解 和 注解处理器 依赖库 )...中创建并配置了 annotation 编译注解 依赖库 和 annotation-compiler 注解处理器 依赖库 ; 本博客开始进行开发 编译注解 依赖库 ; 开发 annotation 编译注解...使用 ---- 注释掉之前的 ButterKnife 的 编译注解 和 注解处理器 , 使用应用中自己开发的 编译注解 和 注解处理器 ; build.gradle 构建脚本 依赖库相关配置 如下...; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import kim.hsl.annotation.BindView..., 一旦编译成 .class 字节码文件 , 该注解就消失了 , 如 @Override 仅在编译查看父类是否有该方法 ; ② 编译注解 : 注解保留到字节码阶段 ; ③ 运行时注解 : 注解保留到运行时

25810
  • Android 编译注解 —— 语法详解

    java Type 详解 java 反射机制详解 注解使用入门(一) Android 自定义编译注解1 - 简单的例子 Android 编译注解 —— 语法详解 带你读懂 ButterKnife 的源码...,CLASS(编译),RUNTIME(运行时) @Target 可以用来修饰哪些程序元素,如 TYPE, METHOD, CONSTRUCTOR, FIELD, PARAMETER 等,未标注则表示可修饰所有.... */ @IdRes int[] value() default { View.NO_ID }; } ---- 自定义注解 一个简单的自定义注解例子 @Documented() // 表示是基于编译注解的...ElementType.FIELD, ElementType.TYPE}) public @interface Seriable { } 指定默认值 @Documented() // 表示是基于编译注解的...自定义编译注解1 - 简单的例子 ---- 处理器类Processor编写 自定义注解后,需要编写Processor类处理注解。

    76620

    Android APT】编译技术 ( 编译注解 和 注解处理器 依赖库 )

    文章目录 一、编译注解和注解处理器 二、创建 编译注解 和 注解处理器 三、添加 编译注解 和 注解处理器 依赖库依赖 四、博客资源 一、编译注解和注解处理器 ---- 上一篇博客 【Android...APT】编译技术 ( ButterKnife 原理分析 ) 简单介绍了下编译技术 , 并简单分析了 ButterKnife 的实现原理 ; 使用 ButterKnife 时会依赖两个库 , dependencies..., com.jakewharton:butterknife-compiler:10.2.3 是 注解处理器 ; 当程序构建编译, 处理依赖库依赖 , 发现依赖了 annotationProcessor...APT , 一般将 注解 拆分成两个部分 , 一部分是使用的 编译注解 , 另一部分是 注解处理器 ; 二、创建 编译注解 和 注解处理器 ---- 使用 Android Studio 开发...Android 项目 , 使用到编译技术 , 都要用到 编译注解 和 注解处理器 ; 编译注解 和 注解处理器 一般都创建为 Java or Kotlin Library 类型的 Module

    37710

    Android APT】编译技术 ( ButterKnife 原理分析 )

    文章目录 一、编译技术简介 二、ButterKnife 原理分析 二、ButterKnife 生成 Activity_ViewBinding 代码分析 一、编译技术简介 ---- APT ( Annotation...Processing Tool ) 注解处理工具 ; 编译技术 , 广泛应用在当前主流框架中 , 如 JetPack 中的 DataBinding , Room , Navigatoion , 第三方...ButterKnife , ARouter 等框架 ; 编译技术 最重要的作用就是在编译可以 生成模板代码 ; 由于生成代码操作是在编译进行的 , 不会对运行时的性能产生影响 ; 程序的周期...: 源码期 : 开发 , 刚编写完 " .java " 代码 , 还未编译之前 , 就处于源码期 ; 编译期 : 程序由 java 源码编译成 class 字节码文件 ; 运行期 : 将字节码文件加载到...Java 虚拟机中运行 ; 编译技术 APT 作用于 编译期 , 在这个过程中使用该技术 , 生成代码 ; 编译技术 2 大核心要素 : 在编译 , 执行生成代码的逻辑 , 涉及到两个重要概念

    49610

    Android N 混合编译与对热补丁影响解析

    接下来就跟着我一起去研究Android N编译运行究竟做了什么改变吧?...Android N的混合编译运行模式 网上关于Android N混合编译的文章并不多,infoq上有一篇翻译文章:Android N混合使用AOT编译,解释和JIT三种运行时。...混合编译运行主要指AOT编译,解释执行与JIT编译,它主要解决的问题有以下几个: 1、应用安装时间过长;在N之前,应用在安装需要对所有ClassN.dex做AOT机器码编译,类似微信这种比较大型的APP...我们先来看看Android N上有哪些编译方法: Android N编译模式 在compiler_filter.h,我们可以看到dex2oat一共有12种编译模式: enum Filter {...即将Android N的混合编译退化了,因为动态编译的代码采用的是[speed]方式完整编译,它会占用比较多Rom空间。

    3.5K10

    Android N混合编译与对热补丁影响解析

    接下来就跟着我一起去研究Android N编译运行究竟做了什么改变吧?...Android N的混合编译运行模式 网上关于Android N混合编译运行的文章并不多,infoq上有一篇翻译文章:Android N混合使用AOT编译,解释和JIT三种运行时。...我们先来看看Android N上有哪些编译方法: Android N编译模式 在compiler_filter.h,我们可以看到dex2oat一共有12种编译模式: ?...事实上,在Android N上我们不会出现完整编译一个应用的base.odex与base.art的情况。base.art的作用是加快类与方法的第一次查找速度,所以在启动这个数据是影响最大的。...即将Android N的混合编译退化了,因为动态编译的代码采用的是[speed]方式完整编译,它会占用比较多Rom空间。

    3.3K90

    Android项目中使用Java8

    遗憾的是目前Android平台仅支持Java8的部分新特性,当我们在开发面向Android N及以上版本的应用时(即minSdkVersion>=24),可以使用如下新特性: Lambda表达式(Lambda...Android Compiler Kit)编译。...新的 Android 工具链将 Java 源语言编译Android 可读取的 Dalvik 可执行文件字节码,且有其自己的 .jack 库格式,在一个工具中提供了大多数工具链功能:重新打包、压缩、模糊化以及...当前Jack编译器还有诸多限制,比如在使用新的Jack工具链时会禁用Instant Run以及前面提到的新特性对我们的最低支持版本和编译版本有要求等等(我猜想Jack对Buck、Layoutcast、Freeline...参考资料: https://developer.android.com/guide/platform/j8-jack.html https://medium.com/@sergii/java-8-in-android-n-preview

    1.1K60

    Android 新特性_Android10使用

    对开发者而言,在Android N系统中要主动检查用户是否开启了流量节省程序,并注意节约后台的数据流量消耗。...Jack编译工具链完整地包含了重打包,压缩,混淆,MultiDex工具,使用Jack编译工具链之后将不需要再依赖类似ProGuard和Jarjar之类的单独组件 Jack编译工具链向下支持到Android...同时Jack也是一套面向未来的编译工具链,未来预计还会支持Java 9,以及Java X Jack 最大最大的优点,你不用再操心65K方法限制的问题了!Jack在Compile的时候就已经解决了!...其他的一些变化: 速度(每次都会提升速度) Library File的后缀(变成了.jack 开发者也可以继续使用Java7开发针对Android N的应用程序,但是编译依然要使用JDK8。...Jack编译工具链虽然非常诱人,但是对于开发者来说依然要做好充分的准备和测试工作 5.

    1.2K20

    【错误记录】Android 编译技术报错 ( 注解处理器 process 方法多次调用问题 )

    文章目录 一、报错信息 二、问题分析 三、解决方案 注解处理器 AbstractProcessor 中的 process 方法可能会调用多次 , 在生成代码 , 一定要注意 , 检测到 注解节点 后再生成代码...; 一、报错信息 ---- Android 编译技术 , 使用注解处理器生成代码 , 编译时报如下错误 : ( 该错误不会中断编译 ) javax.annotation.processing.FilerException...Print Log"); this.mFiler = processingEnvironment.getFiler(); } /** * 该函数在注解处理器注册自动执行...return false; } } 在 process 方法中 , 使用 JavaPoet 生成 Java 代码 ; 上述 process 方法应该是调用 3 次 , 调用第一次生成了...{ e.printStackTrace(); } } return false; } } 修改后 , 编译不再报上述错误

    79920
    领券