Android의 플러그인화 및 구성 요소

3529 단어 andriod-공부android
매주 글을 쓴다고 하던 사람이 처음에는 얼굴을 맞댔다.이번 주에는 지난주 플러그인을 잘 쓰고 구성 요소를 만들어야 한다고 덧붙여라.먼저 플러그인화부터 쓰기 시작하여android 플러그인화의 원리와 관련된 기술을 모두 언급할 것입니다. 물건이 비교적 많으니 천천히 쓰겠습니다. (다행히 아무도 나를 주목하지 않아서 천천히 할 수 있습니다.)제가 지금 주로 맡고 있는 프로젝트는 작년 3월 말부터 시작했습니다. 작년 5월 중순에 출시되었고 1.0에서 현재 버전과 18 버전이 교체되었습니다. 프로젝트의 변형은 4차례(7% 정도의 동력을 바꾸었습니다)를 거쳤습니다. 나머지 기능은 모두 작은 변화와 열복원 구조로 복구할 수 없는 버그입니다. 작년 10월까지 저는 이러면 안 된다는 것을 깨달았습니다.매달 두 가지 버전(때로는 아주 작고 아주 작은 변경)을 출시해야 하기 때문에 저는 불쾌합니다. 이 프로젝트의 또 다른 중요한 모듈은 착수해야 합니다. (회사가 작고 모든 업무는 하나의 앱을 통해 보여주고 싶어요) 앞으로의 교체와 유지보수를 위해 프로젝트를 바꾸고 통합열 복구를 해야 합니다.바로 이때부터 플러그인화와 사용을 주동적으로 이해하기 시작한다.
***        ,             。***

1. 플러그인화로 해결해야 할 문제
        ①、65535    
        ②、    apk   ,         (     , 。。。)
        ③、    、    
        ④、。。。。。。。

2. 개인이 플러그인화된 한마디에 대한 인식: 클래스 마운트 + 반사 + 에이전트.
android가 다시 시작될 때 기회 Boot 타입의 ClassLoader는 Framwork 층을 불러오는 데 사용될 것이라고 생각하지 않아도 됩니다. 이classloader는 앱이 시작될 때 전송됩니다. 물론 저희 프로그램에도 클래스가 있고 클래스 마운트기가 필요합니다.그러니까 한 프로그램에 적어도 두 개의 클래스 마운트가 있다는 거야.
public class MainActivity extends AppCompatActivity {
     

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //  classloader
        ClassLoader classLoader = getClassLoader();
        System.out.println("*--------    classloader---------*"+classLoader);
        ClassLoader bootClassLoader=classLoader.getParent();
        System.out.println("*--------   classloader-----------*"+bootClassLoader);
    }
}

인쇄 결과
07-03 08:10:12.480 3020-3020/? I/System.out: *--------    classloader---------*dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/demo.zzh.com.myclassloader-1/base.apk"],nativeLibraryDirectories=[/data/app/demo.zzh.com.myclassloader-1/lib/x86, /vendor/lib, /system/lib]]]
07-03 08:10:12.480 3020-3020/? I/System.out: *--------   classloader-----------*java.lang.BootClassLoader@7c234e6

우리 프로그램에 클라스로드가 있는지 직관적으로 보여줍니다.그러니까 프로그램 하나에 적어도 두 개는 있어요.
Android ClassLoader 상세 정보

좋은 웹페이지 즐겨찾기