
如何通过NDK获取当前正在运行的应用程序的版本?
我可以得到名称和包,但我需要版本.
解决方法:
试试这段代码,
int getVersionCode(jnienv *env, jobject context) { Jstring packagename; jobject packageManagerObj; jobject packageInfoObj; jclass contextClass = env->GetobjectClass( context); jmethodID getPackagenameMID = env->getmethodID( contextClass, "getPackagename", "()Ljava/lang/String;"); jmethodID getPackageManager = env->getmethodID( contextClass, "getPackageManager", "()LandroID/content/pm/PackageManager;"); jclass packageManagerClass = env->FindClass("androID/content/pm/PackageManager"); jmethodID getPackageInfo = env->getmethodID( packageManagerClass, "getPackageInfo", "(Ljava/lang/String;I)LandroID/content/pm/PackageInfo;"); jclass packageInfoClass = env->FindClass("androID/content/pm/PackageInfo"); jfIEldID versionCodeFID = env->GetFIEldID( packageInfoClass, "versionCode", "I"); packagename = (Jstring)env->CallObjectMethod( context, getPackagenameMID); packageManagerObj = env->CallObjectMethod(context, getPackageManager); packageInfoObj = env->CallObjectMethod( packageManagerObj,getPackageInfo, packagename, 0x0); int versionCode = env->GetIntFIEld( packageInfoObj, versionCodeFID); return versionCode;} 总结 以上是内存溢出为你收集整理的android – 获取NDK版本的应用程序(没有java层)全部内容,希望文章能够帮你解决android – 获取NDK版本的应用程序(没有java层)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)