У меня есть Android-приложение, которое работает очень нестабильно, и я хочу это исправить. Поэтому я декомпилировал apk с помощью apktool и решил, что приложение вызывает группу Log.d, где оно записывает полезную информацию. Затем я установил программу просмотра журнала для Android и понял, что она ничего не показывает. Я прочитал обзоры CatLog (например), и пользователь сказал, что он не работает на последней версии Android. Что ж, теперь я задаюсь вопросом, что делать - теперь я могу просмотреть трассировку журнала на Android, если мой телефон не рутирован?
Редактировать : Интересно, есть ли способ изменить каждый вызов Log.d или Log.e внутри файлов * .smali, декомпилированных apktool, чтобы я мог написать слово в текстовый файл? непосредственно без взаимодействия с механизмами журналов ОС. Кто-нибудь делал подобное?
Я также понимаю, что было бы намного лучше использовать удаленную отладку, но у меня просто сейчас нет доступа к компьютеру - только к смартфону и серверу Linux по SSH.
Редактировать 2 : вот манифест приложения. Я пытаюсь выяснить, можно ли добавить в него флаг отладки.
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:targetSdkVersion="16" package="com.anda.otgdiskpro" platformBuildVersionCode="23" platformBuildVersionName="6.0-2704002">
<uses-feature android:name="android.hardware.usb.accessory"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:largeHeap="true">
<activity android:configChanges="orientation" android:label="@string/app_name" android:launchMode="singleInstance" android:name="com.anda.otgdiskpro.USBActivityPro">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:label="Settings" android:name="com.anda.otgdisk.PrefPage"/>
<activity android:configChanges="orientation" android:label="@string/title_activity_music" android:launchMode="singleInstance" android:name="com.anda.otgdisk.MusicActivity"/>
</application>
</manifest>
Редактировать 3 :
Ага! Очевидно, я должен поставить "android: debuggable =" true "" I в тег приложения AndroidManifest.xml
...
Хорошо. Я изменил AndroidManifest.xml:
<application android:icon="@drawable/icon" android:label="@string/app_name" android:largeHeap="true" android:debuggable="true">
Скомпилировал его в apk, подписал и установил на смартфон. Также я установил LogCat Extreme. Запустите оба приложения и ... нет журналов в LogCat Extreme. Кажется, что Android не позволяет мне просматривать журналы других приложений. Верно?