অ্যান্ড্রয়েড কমান্ড লাইন থেকে সাম্প্রতিক এসএমএস বার্তা পড়ুন


18

আমি সম্প্রতি আমার অ্যান্ড্রয়েডের স্ক্রিনটি ভেঙে ফেলেছি। (আবার)

এটি একটি টি-মোবাইল জি 2

সবার সাথে আমার লিঙ্কটি না হারিয়ে আমার ব্যস্ত প্রযুক্তির সাথে সম্পর্কিত জীবন চালিয়ে যাওয়ার চেষ্টা করা যথেষ্ট কঠিন hard

আমি ফোনটি রুট করেছি এবং ইউএসবি ডিবাগিং ইতিমধ্যে চালু করেছি।

কেউ কি জানেন যে আমি কীভাবে আমার সাম্প্রতিক এসএমএস বার্তাপ্রেরণটি অ্যাডবি শেল থেকে চেক করব যাতে আমি একটি নতুন ফোন বা একটি প্রতিস্থাপন স্ক্রিন পেতে সঞ্চয় করতে গিয়ে কাজ চালিয়ে যেতে পারি।

এই সম্পর্কিত যে কোনও তথ্য আছে এমন কারও জন্য ধন্যবাদ।

সম্পাদনা

প্রবীণদের প্রতিক্রিয়া

C:\android-sdk\platform-tools>adb shell
$ cd /data/data/com.android.providers.telephony/databases
cd /data/data/com.android.providers.telephony/databases
$ sqlite3 mmssms.db
sqlite3 mmssms.db
sqlite3: permission denied
$

ফাইল chmod। আপনি আসলে জানেন কোথায় এটি?

$ chmod +x sqlite3
chmod +x sqlite3
Bad mode
$

su আমাকে কেবলমাত্র বেসিক কমান্ড দিয়ে চলে যায়

$ su
su
# cd /data/data/com.android.providers.telephony/databases
cd /data/data/com.android.providers.telephony/databases
# sqlite3 mmssms.db
sqlite3 mmssms.db
sqlite3: not found
#

সংশোধিত

স্ক্লাইট ইনস্টল করা হয়নি

C:\android-sdk\platform-tools>adb shell
$ cd /data/data/com.android.providers.telephony/databases
cd /data/data/com.android.providers.telephony/databases
$ sqlite3 mmssms.db
sqlite3 mmssms.db
SQLite version 3.6.22
Enter ".help" for instructions
sqlite>

এছাড়াও ডাটাবেস অ্যাক্সেস করতে আমার রুট হওয়া দরকার।

C:\android-sdk\platform-tools>adb shell
$ su
# cd /data/data/com.android.providers.telephony/databases
cd /data/data/com.android.providers.telephony/databases
# sqlite3 mmssms.db
sqlite3 mmssms.db
SQLite version 3.6.22
Enter ".help" for instructions
sqlite>

অনেক ওনাররেথিস ধন্যবাদ

এই লিঙ্কটি সাহায্য করেছে


দেখে মনে হচ্ছে sqlite3আপনার ডিভাইসে বাইনারি নেই। আমার উত্তরের প্রথম লিঙ্কটিতে এটি ইনস্টল করতে আপনাকে সহায়তা করার জন্য নির্দেশাবলী রয়েছে /system/binএখানে বাইনারি নিজেই একটি লিঙ্ক আছে।
সিনিয়রথের

উত্তর:


10

এটি সত্যিই কুৎসিত, তবে আপনি sqlite3ডাটাবেস এন্ট্রিগুলি ব্যবহার করে কমান্ড লাইন থেকে এগুলি পড়তে পারেন । আপনার যদি কাস্টম রম ইনস্টল না করা হয় তবে সম্ভবত এটির জন্য আপনাকে বাইনারি খনন করতে হবে। এই স্ট্যাক ওভারফ্লো প্রশ্নে বাইনারি বলার জন্য ইনস্টল করার জন্য কয়েকটি নির্দেশনা রয়েছে এবং সুপারওনক্লিক এটি দিয়ে প্যাকেজড আসে (বাইনারিটির একটি অনুলিপি এখানে পাওয়া যাবে )।

আপনার যদি বাইনারি ইনস্টল করার প্রয়োজন হয় তবে mountআপনার /systemপার্টিশনটি শারীরিকভাবে কোথায় রয়েছে তা নির্ধারণ করতে (কোনও পরামিতি ছাড়াই) ব্যবহার করুন ( /dev/block/mtdblock3উদাহরণস্বরূপ খনিটি আমার )। তারপরে উপরের প্রথম লিঙ্কের নির্দেশাবলী অনুসরণ করুন, এবং কমান্ডটি দিয়ে এটি রিড / রাইটিং মোডে পুনরায় গণনা করে শুরু করুন:

mount -o rw,remount /your/system/partition /system

একবার আপনি একবার sqlite3খুলতে চাইলে এর adb shellসাথে রুটে স্যুইচ করুন suএবং তারপরে নিম্নলিখিতটি করুন:

# cd /data/data
cd /data/data
# cd com.android.providers.telephony/databases ***
cd com.android.providers.telephony/databases
# sqlite3 mmssms.db
sqlite3 mmssms.db
SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> SELECT * FROM sms WHERE read=0;

এটি অপঠিত সমস্ত বার্তাগুলির জন্য টেবিল থেকে সমস্ত সারি টানবে। সারণীতে কলামগুলি এভাবে সংজ্ঞায়িত করা হয় (যাতে আপনি এটি ছাঁটাতে পারেন SELECT):

CREATE TABLE sms (_id INTEGER PRIMARY KEY,thread_id INTEGER,address TEXT,
  person INTEGER,date INTEGER,protocol INTEGER,read INTEGER DEFAULT 0,
  status INTEGER DEFAULT -1,type INTEGER,reply_path_present INTEGER,
  subject TEXT,body TEXT,service_center TEXT,locked INTEGER DEFAULT 0,
  error_code INTEGER DEFAULT 0,seen INTEGER DEFAULT 0);

*** চিহ্নিত রেখার জন্য দ্রষ্টব্য: আপনার ডিভাইস এবং অ্যান্ড্রয়েডের সংস্করণের উপর নির্ভর করে এটি কিছুটা আলাদা হতে পারে যার জন্য আমি এই cdআদেশটি আলাদাভাবে অন্তর্ভুক্ত করেছি । আমি মনে করি এটি com.android.providers/telephony/databasesপুরানো ডিভাইসে ব্যবহৃত হত তবে আমার খুব মনে নেই। lsএখানে সঠিক পথের জন্য আশেপাশে দেখার জন্য ব্যবহার করুন।


বিকল্পভাবে, আপনি .db ফাইলটি আপনার এসডি কার্ডে অনুলিপি করতে (বা এটি দিয়ে টানতে adb pull) এবং তারপরে স্ক্লাইট দিয়ে আপনার কম্পিউটারে পড়তে পারেন।


আমি এটি চেষ্টা করেছি এবং দেখে মনে হচ্ছে যে স্ক্লাইট 3 এর অনুমতি অস্বীকার করেছে

এটা খারাপ মোড বলছেন

@ জেসন: সেই ডিরেক্টরিটি পড়ার জন্য আপনাকে মূল হতে হবে (কেবল suআগেই চালিত করা হবে )।
42

@ জেসন: এইচএম chmod 0755 sqlite3, তারপর ব্যবহার করুন । হতে পারে স্টক chmodবাইনারি +xপ্যারামিটার পছন্দ করে না ।
বর্ধিত

যত তাড়াতাড়ি আমি su চালানো। এটি কাজ করে যেমন কোনও আদেশ নেই

3

ওনাররেথিস থেকে উপরের সুন্দর ইঙ্গিতটির জন্য ধন্যবাদ, আমি ঠিক করছি

DB=/data/data/com.android.providers.telephony/databases/mmssms.db
echo 'select address,body from sms;' | ./sqlite3 -csv $DB 

আমার রুট প্রম্পট থেকে আমার এসএমএস পড়তে।

যেহেতু আমার স্ক্লাইট 3 নেই, তাই প্রথমে এটি দিয়ে ডাউনলোড করতে হয়েছিল

curl http://dl.dropbox.com/u/16958605/sqlite3
chmod a+x sqlite3

অথবা গুগল প্লেতে এসকিউএলাইট 3 ইনস্টলারটি দেখুন (যদি আপনি ড্রপবক্স উত্সটিতে বিশ্বাস না করেন)।


1
সেই বাইনারিটির জন্য একটি dl.DPboxbox.com URL নিরাপদ বোধ করে না। আপনি একটি অফিসিয়াল উত্স সরবরাহ করতে পারেন?
pzkpfw

1

আপনি যদি কেবল প্রেরক এবং বার্তার চেয়ে আরও বিশদে আগ্রহী হন ( এই উত্তর হিসাবে ), আমি এই বিষয়ে একটি দুর্দান্ত নিবন্ধ পেয়েছি: অ্যান্ড্রয়েডে স্ক্লাইট ডাটাবেস থেকে সরাসরি এসএমএস পড়ুন । আরও দেখুন: বার্তা ডেটা স্ট্রাকচার

আরও ভাল, গিথুবটি দেখুন: অ্যান্ড্রয়েড-এসএমএস পাইথনে লিখিত একটি সরঞ্জাম যা সমস্ত এসএমএস বার্তাগুলি পুনরুদ্ধার করে এবং প্রদত্ত পরিসংখ্যান সহ এসএমএস কথোপকথনে তাদের সংগঠিত করে। এটি সমস্ত এমএমএস বার্তাগুলি পুনরুদ্ধার করে এবং সম্পর্কিত ফাইল সহ এমএমএস কথোপকথনে তাদের সংগঠিত করে। আমি নিজে এটি চেষ্টা করে দেখিনি (এখনও কয়েক মিনিট আগে এটি খুঁজে পেয়েছি), তবে এটি বেশ ঝরঝরে শোনাচ্ছে।

অবশ্যই, এই প্রোগ্রামটি সরাসরি অ্যান্ড্রয়েড ডিভাইসে কাজ করে না - পরিবর্তে আপনার কম্পিউটারে (যেখানে পাইথনের জন্য এসকিউএলাইট 3 সহ পাইথন ২.7 প্রয়োজন)। সুতরাং আপনাকে প্রথমে ডিভাইস থেকে ডাটাবেসটি টানতে হবে। সমস্ত প্রয়োজনীয় পদক্ষেপগুলি প্রকল্পের গিথুব মূল পৃষ্ঠায় বর্ণনা করা হয়েছে।


0

আরেকটি সমাধান আমি উদ্ভাবিত করেছি ফোনে এমন একটি অ্যাপ্লিকেশন ব্যবহার করে যা এসএমএসের মাধ্যমে প্রতিক্রিয়া জানায় এবং এডিবিতে পড়তে পারেন এমন একটি ফাইলে এটি সংরক্ষণ করে।

  • কোনও টাস্কারের মতো অ্যাপ্লিকেশন ইনস্টল করুন, আমি এটি ই-রোবট দিয়ে তৈরি করেছি
  • নতুন কমান্ড তৈরি করুন
  • ইভেন্ট যোগ করুন Contact=>SMS
  • ক্রিয়া যুক্ত করুন Memory=>Write file, সেখানে আপনি প্রতিবার একটি নতুন ফাইলে বা বিভাজক সহ একটিতে এসএমএস সংরক্ষণ করতে পারেন। যাইহোক এটি / এসডিকার্ড বা এডিবি এর মাধ্যমে অ্যাক্সেসযোগ্য কোনও পাথ এ সংরক্ষণ করুন।
  • এডিবি দিয়ে সেই পথটি পর্যবেক্ষণ করুন এবং এসএমএসের সামগ্রীগুলি পড়ুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.