【问题标题】:Android NDK C++ breakpoints only work on emulator [duplicate]Android NDK C++ 断点仅适用于模拟器 [重复]
【发布时间】:2018-12-11 12:22:08
【问题描述】:

当使用带有 Android Studio 的模拟器时,我能够逐步完成 C++。

一旦我开始在真实设备上运行它,我就可以在 Java 内部中断,但不能在任何本机代码中中断。

我正在使用 Android Studio 3.2.1 并为 SdkVersion 28 和 min SDK 22 构建。我在 5.1 模拟器上运行。

这是我的 build.grable (App)

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.ash_eng.www.contordroid"
        minSdkVersion 22
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        externalNativeBuild {
            cmake {
                cppFlags ""
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }


}

我使用的真正硬件是运行 android 8.0 的荣耀 9。

我是否缺少手机上的某些配置?

【问题讨论】:

  • 有些设备不允许使用原生调试器,除非已经root。这可能不是您的错误,而是设备错误。
  • 我相信你是对的。荣耀是华为的子品牌,他们的政策是将手机锁定在此之外。找到这个关于它的 SO 线程:stackoverflow.com/questions/50096048/…

标签: android c++ debugging android-ndk


【解决方案1】:

感谢 Alex 的评论,NDK 现在正在无根 LG G3 上工作,没有任何问题。这是华为/荣耀锁定NDK调试的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2015-12-16
    • 2021-08-22
    相关资源
    最近更新 更多