Articles of 对应logging

Android Proguard没有删除所有日志消息

我想创建一个混淆的Android应用程序。 我使用ProGuard。 我想自动删除所有Log。*消息。 我怎样才能做到这一点? 我find了这篇文章,但我还是得到了它们。 (我使用反编译器来检查混淆)。 proguard-project.txt如下: -injars libs/In.jar -outjars libs/Out.jar #-libraryjars /lib/rt.jar -libraryjars C:/Users/thomas/android-sdks/platforms/android-7/android.jar -dontpreverify -repackageclasses ” -allowaccessmodification -optimizations !code/simplification/arithmetic -renamesourcefileattribute SourceFile -keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,*Annotation*,EnclosingMethod -keep public class * { public protected *; } -keepclassmembernames class * { java.lang.Class class$(java.lang.String); java.lang.Class class$(java.lang.String, boolean); } -keepclasseswithmembernames class * { native ; } -keepclassmembers enum * […]

Android日志记录级别

我在配置Android日志时遇到了一些困难。 这是我的代码的样子: if (Log.isLoggable(“MY_TAG”, Log.VERBOSE)) { Log.v(“MY_TAG”, “Here’s a log message”); } 很简单吧? 但是,我在使Log.isLoggable(“MY_TAG”, Log.VERBOSE)返回true时遇到了一些困难。 根据http://developer.android.com/reference/android/util/Log.html ,我尝试将一个local.prop文件添加到/ data /目录,如下所示: log.tag.MY_TAG=VERBOSE 但没有运气。 我也尝试过: System.setProperty(“log.tag.MY_TAG”, String.valueOf(Log.VERBOSE)); 但这也不起作用。 关于我在这里做错了什么的想法? 我在Nexus 1上运行Android 2.1-update1,如果这有任何区别的话。

MediaRecorder在启动时崩溃

我search了很多主题,但没有直接的答案。 我有这个代码: recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setOutputFile(mFileName); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); if(!mStartRecording) { btn.setText("Stop Recording"); try { recorder.prepare(); } catch (IOException e) { e.printStackTrace(); } recorder.start(); mStartRecording = true; } else { btn.setText("Start Recording"); mStartRecording = false; recorder.stop(); recorder.reset(); recorder.release(); recorder = null; } 我已经添加了: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> (看到joinSTORAGE的地方解决了它,对我来说没有好处) 我正在开发API级别7(Android […]

我无法使用adb屏幕logging工具捕捉android屏幕

我有一个与Android KitKat nexus 4。 我尝试使用以下命令进行屏幕录制: adb shell screenrecord –verbose /sdcard/demo.mp4 adb shell screenrecord –bit-rate 8000000 –time-limit 30 /sdcard/kitkat.mp4 两次,这些命令都返回了这条消息: Main display is 768×1280 @60.00fps (orientation=0) Configuring recorder for 768×1280 video at 4.00Mbps ERROR: unable to create video/avc codec instance 在AndroidStudio中打开的debugging控制台中,显示了以下日志消息: 02-02 18:16:29.058 176-4045/? E/OMX-VENC-720p﹕ Is component secure 0 02-02 18:16:29.058 176-4045/? E/OMX-VENC-720p﹕ ERROR: Omx_venc::Comp Init […]

Android logcat只logging真实设备上的信息级别。 无法获得debugging消息,甚至没有未处理的exception

我为Android开发了一段时间,到目前为止,我没有任何问题logcat。 到目前为止,我有新的手机开发,华为Y300(Y300-0100)和logcat没有来自DEBUG级别的消息。 这是问题,因为我没有得到exception堆栈跟踪打印。 我必须使用模拟器,你明白,这是烦人的.. 到目前为止,我知道了这一点: 从: Log.v("TEST VERBOSE", "verbose level"); Log.d("TEST DEBUG", "debug level"); Log.i("TEST INFO", "info level"); Log.w("TEST WARN", "warn level"); Log.e("TEST ERROR", "error level"); Log.wtf("TEXT WTF", "?? level"); 只有这样印: INFO/TEST INFO(21224): info level WARN/TEST WARN(21224): warn level ERROR/TEST ERROR(21224): error level 在模拟器上,当然都是打印的。 在以前的手机上,没有问题(华为G300和中兴Blade)。 我一直在寻找解决scheme,并没有find任何。

AudioRecord和AudioTrack延迟

我试图开发一个应用程序,如android的iRig,所以第一步是捕捉麦克风input,并在同一时间播放它。 我有它,但问题是,我得到一些延迟,使这种无法使用,如果我开始处理缓冲区,我怕它会得到完全无法使用。 我使用这样的audiorecord和audiotrack: new Thread(new Runnable() { public void run() { while(mRunning){ mRecorder.read(mBuffer, 0, mBufferSize); //Todo: Apply filters here into the buffer and then play it modified mPlayer.write(mBuffer, 0, mBufferSize); //Log.v("MY AMP","ARA"); } 而通过这种方式: // ==================== INITIALIZE ========================= // public void initialize(){ mBufferSize = AudioRecord.getMinBufferSize(mHz, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT); mBufferSize2 = AudioTrack.getMinBufferSize(mHz, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT); mBuffer = new […]

Phonegap媒体API – 录制和播放audio – Android

我希望录制一些audio,然后有能力播放它。 对我来说能够自定义logging界面非常重要。 在下面的例子录音后,我得到一个持续时间为-1,没有audio播放。 第1步。添加媒体插件 cordova plugin add org.apache.cordova.media 第2步。我的代码 注意src是“amr”,正如文档所要求的那样。 Android设备以自适应多速率格式loggingaudio。 指定的文件应以.amr扩展名结尾。 然而,“myrecording.amr”不存在于我的文件结构,因为我希望它会被创build。 使用Javascript var data = { rec: "" }; $scope.record = function(){ console.log('record'); var src = "myrecording.amr"; data.rec = new Media(src, function() { console.log("recordAudio():Audio Success"); }, function(err) { console.log("recordAudio():Audio Error: "+ err.code); }); data.rec.startRecord(); } $scope.stopRecording = function(){ console.log('stop'); data.rec.stopRecord(); } $scope.playRecording = […]

Android应用程序使用android.permission.READ_LOGS – 是不礼貌?

我有一个应用程序可以从Android电子市场。 有些用户已经要求debugging的方式,如果不能按预期的那样工作的话。 我一直在寻找添加一个菜单项,将显示输出 Process mLogcatProc = null; BufferedReader reader = null; mLogcatProc = Runtime.getRuntime().exec( new String[] {"logcat", "-d", "AndroidRuntime:E BDtN:V *:S" }); reader = new BufferedReader(new InputStreamReader (mLogcatProc.getInputStream())); String line; ArrayList listOfLogLines = new ArrayList(); while ((line = reader.readLine()) != null) { listOfLogLines.add(line); } 基本上,我正在提取我的应用程序已经写入的Log。*行的部分,以及AndroidRuntime抛出的错误。 我有一个工作原型,将向用户显示我在ListView中提取的部分日志的内容。 我将不得不将android.permission.READ_LOGS添加到AndroidManifest.xml文件中,以便我的应用程序具有对日志的读取访问权限,这当然会是在安装之前提示用户的信息。 问题是这是否被认为是不礼貌的,危险的或与众不同的。 它会阻止用户安装?

Logback-Android:将FixedWindowRollingPolicy与SizeBasedTriggeringPolicy一起使用时出现“no applicable action”错误

我在我的android应用程序中使用logback-android来将消息logging到文件,无论何时启用日志logging(在应用程序中configuration)。 它似乎工作正常,但是当我有以下情况 当日志大小达到50MB时旋转日志 为日志轮换发生时创build备份文件。 例如。 testFile.1.log.zip 我有这个目的下面的logback.xml文件: <configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>/sdcard/dappLog.log</file> <append>true</append> <encoder> <pattern>%-4relative [%thread] %-5level %logger{35} – %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>/sdcard/dappLog.%i.log.zip</fileNamePattern> <minIndex>1</minIndex> <maxIndex>2</maxIndex> </rollingPolicy> <triggeringPolicy class="com.dapp.utilities.SizeBasedTriggeringPolicy"> <maxFileSize>50MB</maxFileSize> </triggeringPolicy> </appender> <root level="INFO"> <appender-ref ref="FILE" /> </root> 根据这个答案,因为在SizeBasedTriggerPolicy中有一个bug ( src ),所以我有以下的实现: ` package com.dapp.utilities; import java.io.File; import ch.qos.logback.core.util.FileSize; public class SizeBasedTriggeringPolicy<E> extends ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy<E> { […]

完成活动后,如何取下键盘?

我有一个活动,用户在里面input,然后点击确定button。 完成后,活动closures,并返回到旧的活动,但软键盘仍然在屏幕上! 我试过android:windowSoftInputMode =“stateHidden”和getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 但它什么都不做。 谢谢