���I�N���X���[�f�B���O��Android�A�v���g���h�J���FAndroid�œ����g��Java�A�v���쐬����i40�j�i1/3 �y�[�W�j

�A�v�����s���̉”\�����g����ClassLoader�̎g�������T���v���ƂƂ��ɉ���BJAR��DEX�ɕϊ�������@��4�‚̒��ӓ_���B

» 2013�N02��18�� 18��00�� ���J
[�������C�C�[�t���[]

���I�N���X���[�f�B���O�ʼn����ł���H

�@Java�ł́A�N�����݂̂łȂ��A���s���Ƀ��[�U�[�v���O�����̐���ɂ���āA�O�����\�[�X����N���X��ǂݍ��݁A���\�b�h�����s�ł��܂��B�����ł��AClassLoader���g�p���ĊO������N���X��ǂݍ��߂΂悢�̂ł��B

�@���I�N���X���[�f�B���O���s���邱�ƂŁA�ǂ̂悤�ȃ����b�g������ł��傤���B

  • �Q�[���̃X�e�[�W�ȂǁA�K�v�ȃ��\�[�X���ォ��lj��B�K�v�Ȃ��Ȃ������\�[�X�͍폜
  • ���[�U�[�v���O�C���̂悤�Ȏd�g�݂������”\
  • �f�[�^��v���O�����̔z�M�E�C�����e�ՂɂȂ�

�@Android�ł́A���I�N���X���[�f�B���O��Java�̂���Ƃ͏�������قȂ�܂��B����́A���̎����Ή����@���ڂ���������Ă����܂��B

�@�ǂݏI�����i�K�ŁA�قږ��������`�œ��I�N���X���[�f�B���O���s����Ɨ������Ă��炤���Ƃ��ł���ł��傤�B

����̃T���v��

�@����̃T���v���͈ȉ����_�E�����[�h���Ă��������B

�@�uHello.zip�v�͓��I�Ƀ��[�h����JAR�t�@�C�����܂܂�Ă��܂��B����̃T���v���́A�u/sdcard�v�����ɂ����̃t�@�C�������݂���O��Ȃ̂ŁAHello.zip��W�J�����t�H���_�ŁA�G�~�����[�^�������͎��@��USB�ڑ�������Ԃňȉ��̃R�}���h���������Ă��������B

adb push Hello_dex.jar /sdcard/Hello_dex.jar
adb push Hello.jar /sdcard/Hello.jar

�@Hello.jar�͒ʏ��Java��JAR�t�@�C���AHello_dex.jar��DEX�`����JAR�t�@�C���ł��B

�@����̃T���v���̉�ʃC���[�W�ł��B

�@�ォ��5�‚̃{�^���́A���ꂼ��قȂ���@�œ��I�N���X���[�f�B���O���s���܂��B�uConvert�v�Ƃ����{�^���́A�ʏ��Java��JAR�t�@�C�����AAndroid��DEX�`����JAR�t�@�C���ɕϊ����܂��B�uHello!!!�v�Ƃ������b�Z�[�W�́A���I�N���X���[�f�B���O�̖��Ăяo���ꂽ���\�b�h���Ԃ���������ł��BClear�{�^���̓��b�Z�[�W�������āAConvert�ŕϊ�����Ă���΁A���I���[�f�B���O����JAR���f�t�H���g�̂��̂ɖ߂��܂��B

Android��URLClassLoader�̎���

�@Java�ɂ́ujava.net.URLClassLoader�v�Ƃ����N���X�����݂��܂��BJava�̏ꍇ�A�V�X�e���N���X���[�_��URLClassLoader�̃T�u�N���X�ɂȂ��Ă��܂��i���̂悤�Ȍ��܂�͂Ȃ��̂ł����A�I���N���̎������܂߁A������Java VM�����̂悤�Ȏ����ɂȂ��Ă��܂��j�B

�@����AAndroid��Dalvik VM�́A�V�X�e���N���X���[�_��URLClassLoader�ł͂Ȃ��΂��肩�AURLClassLoader�ł̓N���X���[�f�B���O�ł��Ȃ��悤�ɐ�������Ă��܂��B��̂Ȃ��ł��傤���B

�@Dalvik VM��Java�̃N���X�t�@�C���t�H�[�}�b�g���g�p�����A�Ǝ���DEX�t�H�[�}�b�g���̗p���Ă��邽�߁A�N���X�t�@�C�����܂܂ꂽJAR�t�@�C�����w�肳��Ă��A�N���X�t�@�C�������݂���f�B���N�g�����w�肳��Ă��Ή��ł��܂���B

�@�܂��A�uURLClassLoader#addURL(URL)�v�Ŋ����̃N���X���[�_�Ɍォ�烊�\�[�X��lj�����邱�Ƃ��A�Z�L�����e�B��h���Ȃ��Ă͂Ȃ�܂���B

�@�ł́ADalvik VM�̃V�X�e���N���X���[�_�́A���������ǂ̂悤�ȃN���X�Ȃ̂ł��傤���B���ꂪ�A����������dalvik.system�p�b�P�[�W�Ɋ܂܂��PathClassLoader�ł��B

�@dalvik.system�ɂ́A4�‚̃N���X�����݂��܂��B

�N���X�� �T�v
BaseDexClassLoader DEX�t�@�C���̊�{�I�Ȏ���������Ă���N���X���[�_
DexClassLoader .jar��.apk����classes.dex��ǂݍ��ރN���X���[�_
PathClassLoader �p�X���w�肵�ăN���X��ǂݍ��ރN���X���[�_
DexFile ��L�N���X���[�_���Ŏg�p����Ă���DEX�t�@�C����\���N���X

�@���_���Ɍ����Ă��܂��ƁAPathClassLoader�̓A�v������̓��I�N���X���[�f�B���O�ɂ͎g���܂���B���̗��R����q���܂��B

�@�@�@�@�@�@ 1|2|3 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B