递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 6451|回复: 6
打印 上一主题 下一主题

[安卓] 生成DEX文件失败???(invalid opcode ba - invokedynamic requires -...

[复制链接]

41

主题

411

帖子

3236

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3236
跳转到指定楼层
楼主
发表于 2021-8-3 02:15:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xqnh520 于 2021-8-5 09:08 编辑

当前程序编译时所需求安卓SDK API版本: 29, 实际所使用版本: 29;  运行时所需求API版本: 26
当前程序所需求Java SDK版本: 1.6;  实际所使用版本: 1.8
正在进行"生成DEX文件"工作,请稍候...
错误:
    步骤"生成DEX文件"执行失败
    Uncaught translation error:
    com.android.dx.*Fcode.SimException: ERROR in com.youth.banner.adapter.BannerAdapter.onBindViewHolderLandroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V: invalid opcode ba - invokedynamic requires --min-sdk-version >= 26 (currently 13)
     at com.android.dx.*Fcode.Simulator.fail(Simulator.java:947)
     at com.android.dx.*Fcode.Simulator.checkInvokeDynamicSupported(Simulator.java:848)
     at com.android.dx.*Fcode.Simulator.access$700(Simulator.java:43)
     at com.android.dx.*Fcode.Simulator$SimVisitor.visitConstant(Simulator.java:711)
     at com.android.dx.*Fcode.BytecodeArray.parseInstruction(BytecodeArray.java:780)
     at com.android.dx.*Fcode.Simulator.simulate(Simulator.java:117)
     at com.android.dx.*Fcode.Ropper.processBlock(Ropper.java:789)
     at com.android.dx.*Fcode.Ropper.doit(Ropper.java:744)
     at com.android.dx.*Fcode.Ropper.convert(Ropper.java:349)
     at com.android.dx.dex.*F*Franslator.processMethods(*Franslator.java:309)
     at com.android.dx.dex.*F*Franslator.translate0(*Franslator.java:150)
     at com.android.dx.dex.*F*Franslator.translate(*Franslator.java:102)
     at com.android.dx.command.dexer.Main.translateClass(Main.java:779)
     at com.android.dx.command.dexer.Main.access$2700(Main.java:85)
     at com.android.dx.command.dexer.Main$ClassTranslatorTask.call(Main.java:1901)
     at com.android.dx.command.dexer.Main$ClassTranslatorTask.call(Main.java:1886)
     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
     at java.lang.Thread.run(Thread.java:748)
    ...at bytecode offset 0000002c
    locals[0000]: Lcom/youth/banner/adapter/BannerAdapter;
    locals[0001]: Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
    locals[0002]: I
    locals[0003]: I
    stack[0002]: Landroid/view/View;
    stack[0001]: Lcom/youth/banner/adapter/BannerAdapter;
    stack[top0]: I
    ...while working on block 002a
    ...while working on method onBindViewHolderLandroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
    ...while processing onBindViewHolder (Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
    ...while processing com/youth/banner/adapter/BannerAdapter.class
    1 error; aborting
错误: 建立所指定的安卓APK输出文件"E:\火山安卓\banner封装学习\_int\banner封装学习\debug\linker\banner.apk"失败
--- 项目"banner封装学习"编译或连接失败. 编译过程中共遇到了 0 个警告, 2 个错误.


回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40533
沙发
发表于 2021-8-3 07:45:02 | 只看该作者
你在搞封装吗,估计是什么东西和系统库冲突了,导致编译失败。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

41

主题

411

帖子

3236

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3236
板凳
 楼主| 发表于 2021-8-3 08:19:23 | 只看该作者
创世魂 发表于 2021-8-3 07:45
你在搞封装吗,估计是什么东西和系统库冲突了,导致编译失败。

嗯。学习中。不知道是什么原因。我翻译了一下,意思是要用SDK版为26实际是13  但是我把编译需求设置成26还是一样的错误,不知道问题在那里。
回复

使用道具 举报

41

主题

411

帖子

3236

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3236
地板
 楼主| 发表于 2021-8-5 09:07:44 | 只看该作者

生成DEX文件失败

关于这个错误的提示以找到原因。com.android.dx.*Fcode.SimException: ERROR in com.youth.banner.adapter.BannerAdapter.onBindViewHolderLandroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V: invalid opcode ba - invokedynamic requires --min-sdk-version >= 26 (currently 13)

是因为我在启动类里面使用了高级兼容窗口,在企鹅封装的“高级兼容系列基础类”备注中有说明。 而我在引入外部库的时候也用到了androidx库,产生了冲突。


解决方法是

回复

使用道具 举报

41

主题

411

帖子

3236

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3236
5#
 楼主| 发表于 2021-8-5 09:12:26 | 只看该作者
但是出现新的问题。

意思提示控件没有这个属性。
我想应该是appcompat这个库 的原因。但是换了还是一样,不知道是在那里出了错。


回复

使用道具 举报

41

主题

411

帖子

3236

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3236
6#
 楼主| 发表于 2021-8-5 09:14:36 | 只看该作者
网上找java的解决方案。不知道火山如何修改。研究中

回复

使用道具 举报

41

主题

411

帖子

3236

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3236
7#
 楼主| 发表于 2023-3-16 19:37:47 | 只看该作者
xqnh520 发表于 2021-8-5 09:12
但是出现新的问题。

意思提示控件没有这个属性。

在.AAR文件里面找到R.txt文件,删出里面出现的对应单词
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 09:48 , Processed in 0.085642 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表