我们如何获得android:java中apk的描述?

我们如何获得android:java中apk的描述?,java,android,xml-parsing,apk,Java,Android,Xml Parsing,Apk,我在获取android:apk的描述时遇到了一个问题:我必须用java获取它,以便在加载apk时将这些信息放入我的数据库中。我使用aapt-lax.apk | grep android:description对引用进行编码。 在解压的apk中,该引用在manifest.xml中是对值fr的strings.xml的访问(例如value)- java-jar\apktool.jar d\x.apk 例如: <?xml version="1.0" encoding="utf-8"?> &l

我在获取android:apk的描述时遇到了一个问题:我必须用java获取它,以便在加载apk时将这些信息放入我的数据库中。我使用aapt-lax.apk | grep android:description对引用进行编码。 在解压的apk中,该引用在manifest.xml中是对值fr的strings.xml的访问(例如value)- java-jar\apktool.jar d\x.apk

例如:

<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="330" android:versionName="4.0.3-239410" package="com.google.android.talk"
  xmlns:android="http://schemas.android.com/apk/res/android">
…
    <application android:label="@string/app_label" android:icon="@mipmap/ic_launcher_google_talk" android:name="TalkApp" android:taskAffinity="android.task.googletalk" android:hardwareAccelerated="true">
…
        <service android:name="com.google.android.videochat.VideoChatService" android:description="@string/videochatservice_description"> android:permission="com.google.android.talk.permission.VIDEO_CHAT_SERVICE">
</service>
…
    </application>
</manifest>

…
…
android:permission=“com.google.android.talk.permission.VIDEO\u CHAT\u SERVICE”>
…
然后在res\values fr\strings.xml中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
…
    <string name="videochatservice_description">"Talk Service."</string>
…
</resources>

…
“通话服务。”
…
我的目标是在java中获得字符串“Talk Service”


到目前为止,我不认为不使用apktool就可以做我想做的事情。如果有人有更快的解决方案,我会看看。假设我们使用这个apktool命令:java-jar\apktool.jar d.apk using ProcessBuilder。获取信息的最简单方法是什么?我使用sax解析xml。

你问的问题还不完全清楚。我如果您只想从资源中读取字符串值,则可以这样做

String s = getResources().getString(R.string.videochatservice_description);