每当我将三星Galaxy S5(运行Android 4.4.2)连接到我的计算机时,Android Studio中的Logcat开始被同一消息"垃圾邮件" 多次 〜每秒1600次,导致消息"处理输出太多"出现在Logcat的黄色方块中.这是在没有过滤且没有选择调试过程的情况下.
Logcat消息是这样的:
D/tms_audio_hw/AudioTmsIpc AudioTmsClientListen accept Done gAudioClientAcceptSockFd -1 gAudioClientLocalSockFd 24
Run Code Online (Sandbox Code Playgroud)
谷歌搜索它显示出惊人的少.其实什么都没有.我不确定,但它似乎也影响了我的应用程序的日志记录,因为当我选择我的应用程序作为调试过程时,我没有从我的应用程序获得所有Logcat输出 - 有时我会得到一些有时我会得到别人,有时候我也得不到.
另外,正因为如此,我的计算机开始使用疯狂的CPU只是为了处理这些消息,导致极端的CPU使用和风扇全面爆炸!
到底是什么造成的?
编辑
我现在已经看到了这些日志的确切速度,它的速度是每秒1600个日志,而且这个消息一遍又一遍.除非您在自己的设备上遇到这种情况,否则不要告诉我这是"正常行为".
我想将AAC编码的音频数据从我的Raspberry流式传输到我的Android手机.接收数据的部分运行良好,但解码时存在一些问题.
我使用Media Extractor和Media Codec来解码音频数据.这是代码的重要部分:
MediaExtractor extractor = new MediaExtractor();
Uri path = Uri.fromFile(file);
extractor.setDataSource(path.toString());
format = extractor.getTrackFormat(0);
String mime = format.getString(MediaFormat.KEY_MIME);
decoder = MediaCodec.createDecoderByType(mime);
decoder.configure(format, null, null, 0);
while (!stopTrack) {
multicastSocket.receive(packet);
decoder.start();
data = packet.getData();
inputBuffers = decoder.getInputBuffers();
outputBuffers = decoder.getOutputBuffers();
inputBufferIndex = decoder.dequeueInputBuffer(-1);
if (inputBufferIndex >= 0)
{
inputBuffer = inputBuffers[inputBufferIndex];
inputBuffer.clear();
inputBuffer.put(data);
decoder.queueInputBuffer(inputBufferIndex, 0, data.length, 0, 0);
}
bufferInfo = new MediaCodec.BufferInfo();
outputBufferIndex = decoder.dequeueOutputBuffer(bufferInfo, 0);
while (outputBufferIndex >= 0)
{
outputBuffer = outputBuffers[outputBufferIndex];
outputBuffer.position(bufferInfo.offset);
outputBuffer.limit(bufferInfo.offset + …Run Code Online (Sandbox Code Playgroud) android decoder android-permissions android-debug mediacodec
编辑:这仍然没有得到解决.我怀疑基于评论,我使用旧的NDK(10d)可能是一个问题所以我升级到15c并处理所有问题,以便用clang和新的c ++库编译我的东西.不幸的是ndk-gdb在15c中被破坏了,我试图破解python使其工作并没有让我任何地方.然后我使用了Android Studio 3.0预览版,我回到了以前的位置 - 我可以看到堆栈信息,但所有代码都是在lldb中汇编的.工作必须继续 - 我回来使用logcat进行调试:(
我从墙上的无数次点击中看到了额头受伤的前额.
我会尽量简明扼要,同时提供所有相关信息.如果有任何我没有提供的相关信息,请告诉我.
我正在维护一个Android应用程序作为我工作的一部分.我不得不求助于记录调试本机代码,因为虽然我可以设置断点并点击它们,但我无法查看源或变量信息.
我花了很多时间和谷歌搜索试图了解我错过了什么,但仍然没有运气.
我的构建环境是使用Android NDK r10D的OSX,以及用于构建APK的gradle 3.2.
我正在尝试使用AndroidStudio 3.0 beta 6来安装和调试APK.
我的Android.manifest包含在标记中:
android:debuggable="true"
这是使用-v编译其中一个本机c ++文件以获取详细信息的示例输出:
~/src/libraries/cBase$ make android
Building obj/Binary.ao
Using built-in specs.
COLLECT_GCC=arm-linux-androideabi-g++
Target: arm-linux-androideabi
Configured with: /s/ndk-toolchain/src/build/../gcc/gcc-4.8/configure --prefix=/tmp/ndk-User/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-apple-darwin --build=x86_64-apple-darwin --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-User/build/toolchain/temp-install --with-mpfr=/tmp/ndk-User/build/toolchain/temp-install --with-mpc=/tmp/ndk-User/build/toolchain/temp-install --with-cloog=/tmp/ndk-User/build/toolchain/temp-install --with-isl=/tmp/ndk-User/build/toolchain/temp-install --with-ppl=/tmp/ndk-User/build/toolchain/temp-install --disable-ppl-version-check --disable-cloog-version-check --disable-isl-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -lstdc++ -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp …Run Code Online (Sandbox Code Playgroud) android android-ndk android-debug android-studio android-gradle-plugin
在 Android API 24 中,自定义手机 7.0.0
当我以正常模式启动应用程序时,它运行良好,但每当我切换到调试模式时,它都会在 logcat 和keep showing Waiting for Debugger Dialog.
W/ActivityThread:应用程序 com.xxx.xxxxx 正在等待端口 8100 上的调试器... I/System.out:发送 WAIT 块
到目前为止我尝试过的:
问题:一次又一次地执行 Kill 是一项乏味的任务,因为在调试模式下每次都会发生这种情况
问题:这再次临时工作,进行调试(第二次或第三次)将再次给出相同的对话框
我不敢相信设备重启是唯一的解决方案。
问题?
这个问题还有其他解决方案吗?
我有一台Nexus 7平板电脑,我想用来调试我正在开发的Android应用.
我正在使用RDP和共享我的端口(包括平板电脑连接的USB)在远程服务器上进行开发和测试.
每在说明这个文章,我有USB调试启用,它是在相机(PTP)协议操作.
所以一切看起来都很好,但是尽管付出了很多努力,但我无法让Windows(在远程服务器上)将其识别为便携式设备.
出于调试目的,需要将其注册为ADB复合设备.
上述文章说,为了克服这个问题,我需要更新驱动程序软件.
我安装了Google USB驱动程序,但当我尝试使用设备管理器将驱动程序软件更新为Google USB驱动程序时,Windows只是告诉我"已经安装了适用于您设备的最佳驱动程序软件.Windows已确定驱动程序软件对于您的设备是最新的.数码相机."
我也尝试android_winusb.inf使用平板电脑的硬件ID作为复合Android设备列表来编辑文件,但无济于事.
我的项目中有一个PDFViewer模块,具体取决于android库模块libPDF.本机代码包含在库模块(在jni文件夹中)以及相应的android代码中.我正在使用Gradle实验0.3.0-alpha4(与0.2.0和0.2.1相同的问题).文件jni夹外部的库中有本机文件- 它们包含在内android.sources,其标题包含CFlags在中android.ndk.该库被编译成.so文件并包含在apk中.
该项目使用PDFViewer的默认调试本机配置进行编译和运行,调试器以警告启动:
注意!找不到符号目录 - 请检查您的本机调试配置.
调试时,本机代码(和Java代码)中没有断点.如果我暂停调试器,则执行在一个名为的函数中epoll_wait.
我不知道这是否重要,但在Android Studio 1.3.2中我得到了
Throwable:找不到LLDB服务器
在事件日志中.如果我尝试使用GDB,它也会引发异常.我只建造了armaebi-v7a版本.在给定的示例中,我没有看到任何特殊的gradle代码来包含本机代码的调试信息.或者我错过了什么?
我是否需要自己从本机配置选项添加符号目录?这些目录是什么以及如何找到它们?调试时示例示例不显示此警告,并且在其本机配置选项中未设置符号目录.
debuggable,jniDebuggable,ndk.debuggable标志设置为true,android:debuggable = true在清单中,CFlags += "-g"是在ndk块,所有这些工作.
有任何想法吗?提前致谢.
编辑: 这是一个Github链接,其中包含我编写的示例示例以向您显示问题.如果您尝试使用本机配置调试库中的本机代码,则不会触发任何断点.
新的Gradle实验0.3.0-alpha6无法解决问题.其他人也有这个问题.gradle插件仍然是alpha版本,因此库的原生调试仍然没有实现?
android android-ndk android-debug android-studio android-gradle-plugin
在我的代码下方,但它不起作用 - 请参阅调试期间错误的此屏幕截图,
找不到局部变量“ac”
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
for (final Account ac : accounts)
{
String acname = ac.name;
System.out.println("Accounts : " + acname);
}
Run Code Online (Sandbox Code Playgroud) 当我在Android Studio上调试我的即时应用程序时,调试器会附加到即时应用程序进程并暂停大多数断点处的执行.但是它似乎忽略了我的主要活动的onCreate方法中的断点.我尝试过"调试"和"将调试器附加到Android进程"选项.我错过了什么?
我正在尝试为我的Android项目添加字体,因此我可以通过XML使用它.不幸的是,我收到此错误消息:
错误:错误:文件名必须以.xml结尾
我遵循官方Android教程的每一步,不知何故发生此错误,我无法解决它.
编辑:最初它看起来不可逾越,我忽略了.实际问题是一个轻松的胜利.真正发生的是某种程度上,无意中我创建(或)它在升级到3.1.0后创建了fragment_feed.xml(v14)文件和原始fragment_feed.xml文件.但是,按钮ID不存在,(v14)fragment_feed.xml其中实际存在于原始fragment_feed.xml文件anb中我已在我的FeedFragment.java文件中声明它们但FeedFragment.java仅(v14)fragment_feed.xml在编译时考虑.我在(v14)fragment_feed.xml文件中添加了按钮ID .然后它工作得很好.
所以,检查是否有任何v14还挺xml现有文件,并检查是否有遗漏的是在被宣布.java文件.
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWithJavac'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98) …Run Code Online (Sandbox Code Playgroud) java android android-debug android-gradle-plugin android-studio-3.0
android ×10
android-debug ×10
android-ndk ×2
java ×2
adb ×1
decoder ×1
logcat ×1
mediacodec ×1
windows ×1