android aar 调试,android - 如何同时调试使用linphone sdk aar库的android应用和库 - 堆栈内存溢出...
我创建了一个使用sip协议的android应用。因此,我使用了为Android构建的linphone-sdk aar库。该库是基于Ubuntu VM构建的,主要开发工作是在Windows上完成的,因为暂时我使用不同的仿真器,发现在主机上比在来宾vm上工作效率更高。我设法使用sipp作为sip服务器来创建SIP注册和身份验证方案。Java级别的调试过程效果很好。但是,我还需要调试c级,因为我想弄..
我创建了一个使用sip协议的android应用。 因此,我使用了为Android构建的linphone-sdk aar库。
该库是基于Ubuntu VM构建的,主要开发工作是在Windows上完成的,因为暂时我使用不同的仿真器,发现在主机上比在来宾vm上工作效率更高。
我设法使用sipp作为sip服务器来创建SIP注册和身份验证方案。
Java级别的调试过程效果很好。
但是,我还需要调试c级,因为我想弄清楚sip堆栈如何工作以进行自定义更改。
我采取的最初步骤是:
我从Android-studio中的SDK Tools安装了LLDB。
在Android-studio Debugger中,我选择了“ Dual”,并将路径添加到linphone-sdk调试库libbctoolbox.so,liblinphone.so,libortp.so,libc ++ _ shared.so,libmediastreamer.so
在android应用中,我使用了回调
public void onRegistrationStateChanged(Core core, ProxyConfig proxyConfig, RegistrationState registrationState, String s) {
我还在linphonesdk文件夹中的以下本机文件中添加了断点:
static void register_success(SalOp *op, bool_t registered) ->在callbacks.c
static void registrationStateChange(LinphoneCore *lc, LinphoneProxyConfig* proxy,LinphoneRegistrationState state,const char* message)
->在linphonecore_jni.cc
但是随着代码没有在上面的断点处暂停
我创建了一个包含aar库的不同模块,并将其作为依赖项添加到应用程序中。 gradle脚本现在如下:
应用程式
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.test.testapp"
minSdkVersion 23
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'org.linphone.core:linphone-sdk-android-debug@aar'
//releaseImplementation 'org.linphone:liblinphone-sdk:4.0.1'
}
myapp
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
// maven {
// url "https://linphone.org/releases/maven_repository/"
// }
flatDir { dirs 'libs' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
linphonesdk aar
configurations.maybeCreate("default")
artifacts.add("default", file('linphone-sdk-android-debug.aar'))
有谁知道我在做什么错。 是配置问题,还是我选择了错误的本机c文件作为断点?
由于我在android开发和使用linphone方面都相当新,因此任何提示都将非常有用
更多推荐
所有评论(0)