के बजाय (अज्ञात स्रोत) क्यों है मेरे ऐप जिसे मैंने कभी भी अपनी मशीन पर क्रैश प्रकाशित करने के लिए बनाया और हस्ताक्षर किए, लॉगकट में मैं एक नल पॉइंटर अपवाद के लिए स्टैकट्रैक खोलता हूं .. लेकिन मैं हूं सटीक रेखा संख्या का पता लगाने में सक्षम नहीं है? क्योंकि यह कहते हैं कि (अज्ञात स्रोत) उदाहरण के लिए कुछ पंक्तियां इसएंड्रॉइड ऐप क्रैश: लाइन नंबर
Caused by: java.lang.NullPointerException
at me.com.myapplication.a.i.d(Unknown Source)
at me.com.myapplication.MainActivity.onResume(Unknown Source)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1210)
की तरह लग रहे जैसा कि आप देख जहां-कभी वहाँ अपने आवेदन पैकेज मुझे कोई लाइन नंबर देखना है बजाय इसे अज्ञात स्रोत कहते हैं।
यहां इस परियोजना के लिए मेरी ग्रेडल कॉन्फ़िगरेशन है।
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "me.com.myappliaction"
minSdkVersion 8
targetSdkVersion 21
versionCode 6
versionName "2.0"
}
signingConfigs {
signed {
storeFile file('../keystore/my.keystore')
storePassword 'xxxxxx'
keyAlias 'xxxxx'
keyPassword 'xxxxxx'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
signed {
debuggable false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.signed
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile project(':mycomponent')
}
ऐप हस्ताक्षरित निर्माण संस्करण का उपयोग कर रहा था। मैं ProGuard आदेश इस्तेमाल किया वाक्य रचना
retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]
के बाद इस वर्ग के नाम बेहतर दिखाए जाते हैं, लेकिन अभी भी कोई लाइन नंबर निम्नलिखित का उपयोग कर ठीक से पता लगाने को पढ़ने के लिए? मैं सोच रहा हूं कि यहां वास्तव में क्या गलत है जिससे रेखा संख्या गायब हो जाती है ?? मैं ट्रेस कैसे प्राप्त कर सकता हूं जो मेरे कोड में लाइन नंबर दिखाता है और फिर भी इसे प्रकाशित करने के लिए तैयार कर सकता है?
क्या आपने डीबग मोड में ऐप चलाने की कोशिश की है और त्रुटि को दोहराने के लिए जो कुछ भी किया है? आपको अज्ञात स्रोत मिलता है क्योंकि कोड obfuscated और कम से कम –
डिबग में पुन: उत्पन्न नहीं कर सकता है, लेकिन क्या रिट्रेस कमांड है जिसका उपयोग मैंने विपरीत करने के लिए नहीं किया था और सटीक रेखाएं दिखाने के लिए नहीं किया था? – Ahmed
यह है कि आप कैसे deobfuscate, हाँ, हालांकि, मुझे यकीन नहीं है कि लाइन संख्या उठाता है क्योंकि कोड अभी भी छोटा है। क्या आप डेवलपर कंसोल से यह निशान प्राप्त कर रहे हैं? https://support.google.com/googleplay/android-developer/answer/6295281 –