相关疑难解决方法(0)

Java中的native关键字是什么?

在玩这个谜题(这是一个Java关键字琐事游戏)时,我遇到了native关键字.

Java中的native关键字用于什么?

java java-native-interface native keyword

455
推荐指数
10
解决办法
22万
查看次数

如何使用Android Studio 2.2.3调试外部本机库的C++源代码?

我有一个在Windows 10下由Android Studio 2.2.3创建的android项目,该项目通过其包装jar(通过JNI)使用本机库.本地库是由qmake在Android Studio之外构建的,它将在android NDK r13b中使用GCC 4.9来生成本机共享库,代码是使用-g选项编译的.

要使用这个本机库,我将包装jar放在<proj_path>/app/libs目录下<proj_path>/app/src/main/jniLibs/armeabi-v7a,本机库下,一切正常,我可以从java代码成功调用本机库中实现的方法.

问题是,当我调试这个android项目时,我在cpp文件中设置的断点没有生效,请注意cpp文件不在android项目的源代码树中,我只是从android studio打开它.我已经安装了最新的LLDB并且我使用'Hybrid'调试类型启动调试,我还使用'image list'LLDB命令来确认调试时加载的本机库映像是未剥离的版本.但断点不会受到打击.

我的配置有什么问题?

有人能给我一些建议吗?

谢谢!

c++ debugging java-native-interface android-ndk android-studio

11
推荐指数
1
解决办法
1524
查看次数

将调试模式下的共享库与Android Studio(v2 +)链接的解决方法

很久以前,Google代码票据被打开,因为Gradle插件不会传播,无论您是对依赖的android库进行调试构建还是发布构建:

描述:
无论您是对依赖的android库进行调试构建还是发布构建,Gradle插件都不会传播.

版本信息:
gradle插件:0.3 gradle:1.4

这是一个问题,特别是当release库的配置阻止代码版本或调试过程正常发生时(本机方法的红色突出显示,因为IDE在正常链接时不再发现,Java逐步断开)一步调试......).

这在Google Code和Stack Overflow上进行了彻底的讨论,而Kane O'Riley提出了一个非常有趣(干净)的解决方法:

把它放在你的应用程序中: dependencies { debugCompile project(path: ':custom_lib', configuration: "libraryDebug") releaseCompile project(path: ':custom_lib', configuration: "libraryRelease") }

并在你的库的build.gradle中添加: defaultPublishConfig 'release' publishNonDefault true productFlavors { library { } }

我试了一下,但是我在Gradle同步时有以下消息:

Error:Configuration with name 'libraryDebug' not found. 
Run Code Online (Sandbox Code Playgroud)

我尝试使用" debug"和" release"(这是我在lib中使用的构建配置名称),但结果是一样的.

有什么想让这个有趣的解决方案有效吗?(我正在运行Android Studio 2.0 beta 2)

附录:

  • 我的lib build.gradle文件(包括我目前正在使用的丑陋的解决方法):

    apply plugin: 'com.android.library'
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"
    
        // THIS IS WHERE I …
    Run Code Online (Sandbox Code Playgroud)

android android-studio

2
推荐指数
1
解决办法
2837
查看次数