我使用ndk和Eclipse ADT来为Android构建应用程序,并且工作正常。不过,我想知道为什么构建过程涉及编译arm和拇指,即每次我在源文件中进行修改时,都会重新编译arm和thumb。有必要吗 ?如果不是,我怎么能告诉建设者只编译和链接armabi-V7a?这将除以2构建处理时间...为什么arm和thumb在Eclipse ADT中编译?
回答
你可能是指,对于武装V6和武装V7A?两者都可以编译为ARM或THUMB。这由LOCAL_ARM_MODE在Android.mk控制。要禁用armeabi,在设置
APP_ABI=armeabi-v7a
Application.mk。这不仅会缩短您的构建时间,还会缩短APK的大小。
我找到了答案。我用JUCE框架,它会自动生成Android.mk用这样的测试文件中它: IFEQ($(TARGET_ARCH_ABI),armeabi-V7A) LOCAL_ARM_MODE:=手臂 ENDIF 有一个在JUCE它默认设置要求armeabi和armeabi-V7a库。我改变了这只是armeabi-V7a,并没有得到双重构建过程(手臂+拇指)了。 但你的答案帮助我看在正确的地方,因此+1 ... :) – DrMad 2014-10-01 07:51:11
我不明白他们为什么不喜欢手臂v7a上的拇指代码,但即使您删除** ifeq **,你仍然有双重构建,如果你只瞄准现代设备,这是一个麻烦。 – 2014-10-01 08:48:36
- 1. 编译为Thumb或ARM的ARM ELF的脚本/工具谓词
- 2. 混合ARM和THUMB指令
- 3. 在Rasperry pi中编译并运行ARM Assembly thumb-2?
- 4. 有没有办法在Xcode 4中编译ARM而不是Thumb?
- 5. 什么是ARM Thumb指令集?
- 6. Apple AS和ARM/Thumb ADDS指令
- 7. WinPhone8支持ARM(非Thumb)吗?
- 8. 为arm编译交叉编译e2fsprogs
- 9. 是否可以为ARM和THUMB生成单独的.exe文件?
- 10. 为ARM架构编译Ada
- 11. 为什么在ARM处理器上,PC仍然处于Thumb模式的32位?
- 12. 为什么Eclipse不能在java 1.5中编译我的代码?
- 13. Installin ADT为Eclipse
- 14. 如何将Xcode 4.2的iOS反汇编从Thumb转换为ARM?
- 15. Cortex M3上的非Thumb ARM代码
- 16. 编译ARM .S为iPhone在Mac/Windows的
- 17. 在ARM/Thumb(IOS)上解码BLX指令
- 18. ARM Thumb模式:代码大小不减
- 19. Eclipse中ADT r14中的Android库 - 编译错误
- 20. 在ARM/THUMB状态之间切换
- 21. 在ARM上编译JInput
- 22. 我的Eclipse ADT有什么问题吗?
- 23. 为什么“case :: LABEL:”在g ++中编译?
- 24. 为什么“ELSE:”在vb.net中编译?
- 25. 为什么在Java中编译?
- 26. 为什么不能在第二次下载Eclipse ADT?
- 27. 为什么不编译编译错误?
- 28. Clang跨ARM编译?
- 29. ARM交叉编译
- 30. eclipse adt卡在调用android预编译器
目前,android库倾向于使用混合的ARM和THUMB指令 - 内部功能通常是THUMB,而外部链接钩子是ARM。 – 2014-09-30 18:28:39