TGTGInsightintelligence telegramLIVE / telegram public index
← 南宫雪珊
南宫雪珊 avatar

TGINSIGHT POST

Post #60

@vvb2060_Channel

南宫雪珊

Visualizzazioni2,000Numero di visualizzazioni
Pubblicato24 giorni fa11/05/2026, 08:58
Contenuto del post

Contenuto

介绍全新zygote:zygote_next ! zygote_next是独立于zygote64的全新zygote,Android17引入,专供app_zygote_native及其隔离服务使用。 app_zygote_native是app_zygote的原生版,不需要在java代码中加载原生库,而是直接在组件声明中指定。 <application android:zygotePreloadNativeLib="libvvb.so" android:zygotePreloadNativeFunc="ANativeApp_onCreate"> 如果不指定zygotePreloadNativeFunc,那么仅加载库。启动后进程名字为 包名_zygote_native 。 既然app_zygote已经原生化了,隔离服务当然也需要原生化。引入新属性 android:nativeService 和ndk头文件 android/native_service.h <service android:name=".NativeOnlyService" android:isolatedProcess="true" android:nativeService="true" android:useAppZygote="true" tools:ignore="MissingClass"> <property android:name="android.app.PROPERTY_NATIVE_SERVICE_LIBRARY_NAME" android:value="libmain.so" /> <property android:name="android.app.PROPERTY_NATIVE_SERVICE_FUNCTION_NAME" android:value="ANativeService_onCreate" /> </service> android:name仅做标识符,不需要存在对应类。两个property都是可选的,上文示例是其默认值,可以不存在对应文件,而是从app_zygote_native继承。android:useAppZygote="true"也是可选的,false表示直接由zygote_next派生,不经过app_zygote_native。 新特性介绍到这里结束,下面是相关的老功能:原生活动,虽然名字不一样,但很类似。头文件在 android/native_activity.h <activity android:name="android.app.NativeActivity" android:exported="true"> <meta-data android:name="android.app.lib_name" android:value="main" /> <meta-data android:name="android.app.func_name" android:value="ANativeActivity_onCreate" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 在Android17,root检测器终于能完全丢弃dex,只用原生代码编写了,可喜可贺。