অ্যান্ড্রয়েড স্টুডিওতে, কোথায় স্বাক্ষরিত এপিএকে সংকলনের পরে প্রোগুয়ার্ড ম্যাপিং ফাইলগুলি তৈরি করা হয়?
আমি নিশ্চিত না যে এটি কাজ করছে না বা আমি কেবল ফাইলের পথটি ভুলে গেছি, এবং আমার বাধ্যতামূলক গুগল / স্ট্যাক ওভারফ্লো অনুসন্ধান এর উত্তর দেয় নি
অ্যান্ড্রয়েড স্টুডিওতে, কোথায় স্বাক্ষরিত এপিএকে সংকলনের পরে প্রোগুয়ার্ড ম্যাপিং ফাইলগুলি তৈরি করা হয়?
আমি নিশ্চিত না যে এটি কাজ করছে না বা আমি কেবল ফাইলের পথটি ভুলে গেছি, এবং আমার বাধ্যতামূলক গুগল / স্ট্যাক ওভারফ্লো অনুসন্ধান এর উত্তর দেয় নি
উত্তর:
এটি build/outputs/proguard/release/mapping.txt
আপনার অ্যাপ্লিকেশন মডিউলের ডিরেক্টরিতে থাকা উচিত।
প্রোগার্ড এবং অ্যান্ড্রয়েড স্টুডিওর সর্বশেষতম সংস্করণে ফাইলটি অবস্থিত build/outputs/mapping/release/mapping.txt
।
/app/build/outputs/mapping/brandExampleEnvProductionRelease/mapping.txt
/app/build/outputs/mapping/brandExampleEnvIntegrationBeta/mapping.txt
নতুন পথ।
আমার জন্য তারা এ 'build/outputs/mapping/release'
build/
ডিরেক্টরি গাছের বাইরের কোনও স্থানে ম্যাপিং.টেক্সট ফাইলটি লেখার জন্য পূর্ববর্তীটিকে কনফিগার করার জন্য আমি আরও ক্লিনার পেয়েছি , যাতে এটি আরও সহজেই সংস্করণ নিয়ন্ত্রণে পরীক্ষা করা যায় checked
এটি অর্জন করতে, এটি আপনার proguard-rules.pro
ফাইলে রাখুন:
-printmapping mapping.txt
এটি (সম্ভবত) এটি আপনার proguard-rules.pro
ফাইলের মতো একই ডিরেক্টরিতে স্থাপন করবে । শেষ পর্যন্ত, আপনি সম্ভবত এটি আপনার এপিএল ফাইলের মতো একই ডিরেক্টরিতে এবং একটি সমমানের নাম (যাতে স্বাদ, বিল্ড প্রকারের অন্তর্ভুক্ত থাকতে পারে) দিয়ে লিখতে চান।
নোট: আমার অভিজ্ঞতা, এই হয় না proguard টেমপ্লেট ফাইল (যা অন্য একটি মন্তব্যকারী দ্বারা প্রস্তাব ছিল দ্বারা overruled উত্তর এখানে)।
আপডেট: আপনার যদি একাধিক পণ্যের স্বাদ থাকে তবে এটি আরও অনেক ভাল সমাধান: https://stackoverflow.com/a/31116608/444761
আমি দেখেছি এটি উত্পন্ন হচ্ছে না, তাই আমি এটি নিয়ম ফাইলে যুক্ত করেছি
-printmapping build/outputs/mapping/release/mapping.txt
এই প্রশ্নের উত্তর দিতে বেশ দেরি হয়েছে তবে কারও ক্ষেত্রে আমার উত্তর প্রয়োজন।
ডিওবফাসকেটে ম্যাপিং ফাইলের অবস্থান:
প্রোগুয়ার্ড অ্যাপ্লিকেশন অ্যাপ্লিকেশনটিতে বিল্ড / আউটপুট / ম্যাপিং / ফ্ল্যাওয়ার / রিলিজ / ম্যাপিং.টেক্সট সংরক্ষণ করে
সাধারণত ডিবাগ মোডে আপনার ম্যাপিং ফাইলের প্রয়োজন হয় না কারণ সেখানে সাধারণত অচলতা অক্ষম থাকে। যদি এটি না হয় তবে আপনার বিল্ড.gradle ফাইলটিতে ডিবাগ ভেরিয়েন্টের নীচের কোড রয়েছে তা নিশ্চিত করুন।
debug {
minifyEnabled false
debuggable true
}
কিছু গোছা:
প্রোগ্রুয়ার্ডের সাথে আপনি যখন রিলিজ বিল্ড তৈরি করবেন প্রতিবার ম্যাপিং.টিএসটিএক্স ফাইলটি ওভাররাইট করা হবে, সুতরাং নতুন রিলিজ তৈরির আগে প্রথমে সেই ফাইলটির ব্যাকআপ নিন। এটি আপনার অ্যাপ্লিকেশনটির পুরানো সংস্করণ থেকে অবহেলিত স্ট্যাক ট্রেসকে সহায়তা করবে।
তা ছাড়া আপনার কোডটি অবলম্বন করার দুটি উপায় রয়েছে:
১. গুগল প্লে কনসোলে আপনার ম্যাপিং.টিএসটি ফাইলটি আপলোড করুন:
গুগল প্লেতে আপনার অ্যাপ্লিকেশন প্রকাশ করার সময়, আপনি আপনার APK এর প্রতিটি সংস্করণের জন্য ম্যাপিং.টেক্সট ফাইলটি আপলোড করতে পারেন। তারপরে গুগল প্লে ব্যবহারকারী-উল্লিখিত সমস্যাগুলি থেকে আগত স্ট্যাকের চিহ্নগুলি ডিফল্ট করবে যাতে আপনি সেগুলি গুগল প্লে কনসোলে পর্যালোচনা করতে পারেন।
2. স্থানীয় এসডিকে সরঞ্জাম retrace.sh/retrace.bat ব্যবহার করুন:
কিছু সময় আপনি নিজের অ্যাপ্লিকেশনটির রিলিজ সংস্করণটি চালাতে চান (বিল্ড রূপে এটি প্রকাশের জন্য এবং এটি চালিয়ে) পরীক্ষা করতে এবং ত্রুটিগুলি সমাধান করে যাতে এটি উত্পাদন না ঘটে (প্লে-স্টোরে প্রকাশিত হলে)।
একটি অস্পষ্ট স্ট্যাক-ট্রেসকে একটি পাঠযোগ্য হিসাবে নিজেকে রূপান্তর করতে, retrace স্ক্রিপ্টটি ব্যবহার করুন ( উইন্ডোজে retrace.bat; ম্যাক / লিনাক্সে retrace.sh )।
এটি <sdk-root>/tools/proguard/bin/
ডিরেক্টরিতে অবস্থিত ।
<sdk-root>
আপনার সমস্ত অ্যান্ড্রয়েড লাইব্রেরি এবং এসডিএস ইনস্টল করা হয়েছিল এমন জায়গা।
নতুন, পঠনযোগ্য স্ট্যাক ট্রেস তৈরি করে স্ক্রিপ্টটি ম্যাপিং.টেক্সট ফাইল এবং আপনার স্ট্যাক ট্রেস নেয়।
কমান্ড সিনট্যাক্স:
retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]
উদাহরণ স্বরূপ:
retrace.bat -verbose mapping.txt obfuscated_trace.txt
প্রাক-চেক উত্পাদনের ত্রুটিগুলি যেমন যথেষ্ট কার্যকর তাই আমি স্থানীয় সংস্করণটিকে অবহেলা করতে পছন্দ করি।
আমি আসা করি এটা সাহায্য করবে.
আমি সংস্করণ অ্যান্ড্রয়েড স্টুডিও ২.২.২ ব্যবহার করছি । আমার জন্য এটি নিম্নলিখিত অবস্থানগুলিতে অবস্থিত:
ডিবাগের জন্য:
\app\build\outputs\mapping\debug\mapping.txt
মুক্তির জন্য:
\app\build\outputs\mapping\release\mapping.txt