小编Chr*_*ton的帖子

如何管理包含重复依赖项的依赖关系树?(XCode,iOS)

我正在开发一个相当复杂的iOS应用程序.为了使开发合理化,我开始将每个模块开发为独立项目,然后在顶层应用程序项目中一起组合,从而生成依赖关系树.

我以前成功地采用了这种方法,但这次有共享依赖(C)导致问题:

     A
    /|\
   / | \
  B  C  D
 / \     \
C   E     C
Run Code Online (Sandbox Code Playgroud)

其中A是顶级应用程序项目,C是函数的"核心库".此核心库是A本身以及模块B和D 依赖项.由此产生的多重编译会导致构建文件夹中的重复符号并且链接失败.

现在,我可以务实,只是从A中删除引用,因为这将被B编译到构建文件夹中,如果不涉及D,这将起作用.但是我如何解决B和D中C依赖的重复? 当我独立编译它们时,B和D项目仍然需要对C的引用,但是在A的上下文中编译两次时会发生冲突.

我可以想象一些使用objcopy并给它们唯一前缀的复杂解决方案,但这会有点效率低,因为它是相同的代码.我可以忍受这个,但有更好的方法吗?也许某些编译器或链接器标志重用构建文件夹中的现有符号(如果存在),而不是再次编译?

谢谢你的建议.

dependencies duplicates static-libraries ios

5
推荐指数
1
解决办法
485
查看次数

调试Android RuntimeException - 在我的代码执行之前

我不是Java的新手,而是Android平台的新手.我发现其中一个平台缺点是对运行时崩溃有意义的反馈.在断点适用的用户代码中很好,但我在第一次运行时遇到了阻止我的项目启动的崩溃,我看不到跟踪它的方法.谁能摆脱任何光明?

DalvikVM[localhost:8626]    
    Thread [<1> main] (Suspended (exception RuntimeException))  
        ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2585  
        ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2679   
        ActivityThread.access$2300(ActivityThread, ActivityThread$ActivityRecord, Intent) line: 125 
        ActivityThread$H.handleMessage(Message) line: 2033  
        ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
        Looper.loop() line: 123 
        ActivityThread.main(String[]) line: 4627    
        Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
        Method.invoke(Object, Object...) line: 521  
        ZygoteInit$MethodAndArgsCaller.run() line: 868  
        ZygoteInit.main(String[]) line: 626 
        NativeStart.main(String[]) line: not available [native method]  
    Thread [<6> Binder Thread #2] (Running) 
    Thread [<5> Binder Thread #1] (Running) 
Run Code Online (Sandbox Code Playgroud)

模拟器和设备上相同.

我已经看到有关这些崩溃的报告是由无效XML的膨胀引起的,所以我已经从我的项目中删除了所有XML和资源,几乎是一个一个,并且同样的错误仍然存​​在!是否有任何技巧或工具可以申请尝试获得更有意义的错误消息?谢谢.

android

4
推荐指数
1
解决办法
6843
查看次数