fun_code 216 ارسال شده در 24 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 24 فروردین، ۱۳۹۵ سلام دوستان من در برنامه درون پرداختم که شخصی هم هست از کتابخانه های JSInterface ,SslErrorWebView,WebViewExtras استفاده میکنم. در آخرین برنامه ای که ساختم یه مشکل عجیب پیش اومده در در شبیه ساز مشکلی نیست و فقط در گوشی بروز میده. پس از خرید و اجرای دستورات زیر باید تابع processHTML فراخوانی بشه ، اما فراخوانی نمیشه !!! (2 دستور toast و log قرار دادم اما اجرا نمیشن) Dim jsStatement As String jsStatement = "B4A.CallSub('processHTML', true, document.documentElement.outerHTML)" myInterface.execJS(vwPayment, jsStatement) پس از گذشت 40 الی 60 ثانیه هم پیغام زیر رو بصورت toast نمایش میده... android.system.ErrnoException: recvfrom failed: ECONNRESET (Connection reset by peer) اومدم کل پروژه رو در یک پروژه جدید کپی کردم و درست شد. (جالب اینجاست نام پوشه پروژه رو به نام قبلی تغییر میدادم دوباره خراب می شد!) اما نسخه های جدید که دادم دوباره خراب شده... هر چی هم دوباره کل پروژه رو در یک پروژه جدید کپی میکنم درست نمیشه عجیبه که فقط این برنامه هم مشکل داره...نمیدونم چرا بقیه برنامه ها اینجوری نشدن و نمیشن ! لطفا راهنماییم کنید. ممنونم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
hosseinz501 122 ارسال شده در 25 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 25 فروردین، ۱۳۹۵ سلام این مشکل قبلا برای من هم پیش اومده اما نمیدونم علت مشکل شما هم مثل من باشه یا نه برنامه را روی چه حالتی کامپایل می کنید ؟ Release یا Release(obfuscated)l یا Debug ؟ اگه روی غیر از حالت Release(obfuscated)l کامپایل می کنید راه حل زیر برای مشکلتون جواب نمیده اما اگه روی حالت Release(obfuscated)l برنامه تون رو کامپایل می کنید راه حل زیر باید جواب بده : اسم تابع processHTML به process_HTML تغییر بدید یعنی باید به اسم تابعتون یک آندرلاین اضافه کنید چون در حالت Release(obfuscated)l اسم همه ی تابع ها به صورت خودکار به اسم های نامفهوم تبدیل میشه به جز تابع هایی که در اسمشون آندرلاین وجود داره حالا وقتی ما دستور فراخوانی تابع processHTML رو در داخل متد execJS و در داخل یک استرینگ می دهیم بیسیک این فراخوانی رو در تبدیل اسم تابع ها به اسم های نامفهوم تشخیص نمیده و اسم تابع ما رو عوض می کنه و مثلا اسم تابع processHTML رو میزاره VVVVVVVV1 حالا اتفاقی که می افته اینه که برنامه میاد در متد execJS تابع processHTML رو فراخوانی کنه و تابعی هم با همچین اسمی وجود نداره پس این تابع فراخوانی نمیشه و کدهای مورد نظر ما هم اجرا نمیشن . سعی کردم قشنگ و ساده توضیح بدم اما فک کنم نشد ببخشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
fun_code 216 ارسال شده در 25 فروردین، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 25 فروردین، ۱۳۹۵ سلام این مشکل قبلا برای من هم پیش اومده اما نمیدونم علت مشکل شما هم مثل من باشه یا نه برنامه را روی چه حالتی کامپایل می کنید ؟ Release یا Release(obfuscated)l یا Debug ؟ اگه روی غیر از حالت Release(obfuscated)l کامپایل می کنید راه حل زیر برای مشکلتون جواب نمیده اما اگه روی حالت Release(obfuscated)l برنامه تون رو کامپایل می کنید راه حل زیر باید جواب بده : اسم تابع processHTML به process_HTML تغییر بدید یعنی باید به اسم تابعتون یک آندرلاین اضافه کنید چون در حالت Release(obfuscated)l اسم همه ی تابع ها به صورت خودکار به اسم های نامفهوم تبدیل میشه به جز تابع هایی که در اسمشون آندرلاین وجود داره حالا وقتی ما دستور فراخوانی تابع processHTML رو در داخل متد execJS و در داخل یک استرینگ می دهیم بیسیک این فراخوانی رو در تبدیل اسم تابع ها به اسم های نامفهوم تشخیص نمیده و اسم تابع ما رو عوض می کنه و مثلا اسم تابع processHTML رو میزاره VVVVVVVV1 حالا اتفاقی که می افته اینه که برنامه میاد در متد execJS تابع processHTML رو فراخوانی کنه و تابعی هم با همچین اسمی وجود نداره پس این تابع فراخوانی نمیشه و کدهای مورد نظر ما هم اجرا نمیشن . سعی کردم قشنگ و ساده توضیح بدم اما فک کنم نشد ببخشید یافتم مشکل مسخره ای بود ، به سختی حل شد. البته مطمئن نیستم ریشه مشکل و پیدا کردم. اما با تغییر تم اون اکتویتی ، خداروشکر فعلا مشکل برطرف شد!!! اگر با این مشکل مواجه شدین تست کنید... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
fun_code 216
سلام دوستان
من در برنامه درون پرداختم که شخصی هم هست از کتابخانه های JSInterface ,SslErrorWebView,WebViewExtras استفاده میکنم.
در آخرین برنامه ای که ساختم یه مشکل عجیب پیش اومده در در شبیه ساز مشکلی نیست و فقط در گوشی بروز میده.
پس از خرید و اجرای دستورات زیر باید تابع processHTML فراخوانی بشه ، اما فراخوانی نمیشه !!! (2 دستور toast و log قرار دادم اما اجرا نمیشن)
پس از گذشت 40 الی 60 ثانیه هم پیغام زیر رو بصورت toast نمایش میده...
اومدم کل پروژه رو در یک پروژه جدید کپی کردم و درست شد. (جالب اینجاست نام پوشه پروژه رو به نام قبلی تغییر میدادم دوباره خراب می شد!)
اما نسخه های جدید که دادم دوباره خراب شده... هر چی هم دوباره کل پروژه رو در یک پروژه جدید کپی میکنم درست نمیشه
عجیبه که فقط این برنامه هم مشکل داره...نمیدونم چرا بقیه برنامه ها اینجوری نشدن و نمیشن !
لطفا راهنماییم کنید.
ممنونم
لینک ارسال
به اشتراک گذاری در سایت های دیگر
2 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.