PDA

View Full Version : نوشتن پکیجی که سورسش در دسترش قرار نگیرد



sobhan1990
پنج شنبه 22 آبان 1393, 19:59 عصر
سلام به همه دوستای عزیز

آیا راهی هست که در برنامه ها یک یا چند کلاس را به صورت یک پکیج در بیارم و به صورتی تبدیل به یک پکیج بشه که فقط بشه ازش استفاده کرد.
یعنی بدمش به یک برنامه نویس دیگه و اون بتونه فقط کلاس ها و متدها و اشیا کلاس ها را فراخوانی کنه ولی نتونه سورس رو ببینیه و یا در سورس دستکاری کنه.

پیشاپیش سپاس فراوان

tux-world
پنج شنبه 22 آبان 1393, 20:32 عصر
خوب شما میتونین کلاسهاتون رو interface و یا Abstract تعزیف کنید اگه نمیخوایید به کد دسترسی داشته باشه. متدهایی رو تعریف میکنید اون برنامه نویس تو برنامش اونا رو override میکنه. ولی اگه نمیخوایید سورس رو هم ببینه خوب نه نمیشه. میتونین از کلاسهاتون فرمت jar تولید کنید و اون رو obfusication کنید اگه اشتباه ننوشته باشم ولی خوب باز هم راه در زیاد داره. مگر اینکه native بنویسید مثل زبانهای سی

sobhan1990
پنج شنبه 22 آبان 1393, 21:05 عصر
سپاس بابت پاسخ.

من به سی تسلط دارم. میشه لطفا در مورد اینکه در چه محیطی به زبان سی بنویسم توضیح بدید؟ و چطور این کدها از دسترس خارج میشند؟

tux-world
جمعه 23 آبان 1393, 01:09 صبح
تااین حدش رو راستیتش نمیدونم. ولی برای تولید یه همچین فایلی باید شما فرمت so. لینوکسی باید بتونین تولید کنید که با ++g این امکان هست اون رو میتونین استفاده کنید بقیش رو سرچ کنید :چشمک:

sobhan1990
جمعه 23 آبان 1393, 14:50 عصر
اگر سورسم در فایل so قرار بگیره در هیچ برنامه دیگه ای باز نمی شود؟ و قابل بازیابی نیست؟

tux-world
جمعه 23 آبان 1393, 21:38 عصر
خوب میشه گفت اینطوریه که اون شبیه DLL ویندوزه ولی DLL قابل برگردوندن هستش ولی so. نه. برای مثال یه کتابخونه ای هستش که تریف میکنید و ازش استفاده میکنید.

Nevercom
شنبه 24 آبان 1393, 00:47 صبح
اینطور بهش نگاه کنید که شما میتونید کدهای C رو کامپایل کنید و با استفاده از رابط هایی، در زبان جاوا از این کتابخانه استفاده کنید.
کد رو باید برای سیستم عامل و معماری پردازنده مقصد کامپایل کنید. و می دونید که دسترسی به کدهای برنامه ای که به زبان ماشین کامپایل شده، خیلی دشوارتر از دسترسی به کدهایی هست که به Byte Code ترجمه شده.

در مورد کامپایل کردن کدهای C برای اندروید و NDK تحقیق کنید.

negative60
شنبه 24 آبان 1393, 02:40 صبح
سپاس بابت پاسخ.

من به سی تسلط دارم. میشه لطفا در مورد اینکه در چه محیطی به زبان سی بنویسم توضیح بدید؟ و چطور این کدها از دسترس خارج میشند؟
برای اين کار شما نياز داريد برای خودتون يک لايبری با NDK و به وسيله C/C++ بسازيد و کامپايل کنيد و بعد بدون نگرانی ميتونيد لايبری خودون رو برای استفاده در اختيار بقيه قرار بديد
دنبال مطالب فارسی کاملی نباشيد اين سری آموزش ها (https://www.youtube.com/watch?v=YvCRlJToCAg&index=396&list=UUkQX1tChV7Z7l1LFF4L9j_g) رو ببينيد (1 تا 10) خيلی مفيد هستند تو اين آموزش نحوه استفاده از C/C++ رو رو تو اندرويد نشون ميده البته تو اين ويدوها کامپايل و بعضی از تنظيمات پروژه به وسيله کامنت انجام ميگيره که تو محيط اکليپس حتماً لازم نيست اينطور باشه.
برای ايجاد لايبری و استفاده از اون تو پروژه های ديگه هم ميتونيد سرچ کنيد.