最近のプロジェクトは、需要を持って、我々は、フロントエンドを取得したり、パッケージ名内のAPKのAARファイルをアップロードする必要があります。
ここでの貢献は、彼らが小さなパートナーのニーズにアクセスできます。
プロジェクトでは、asp.netコア2.2であります
あなたはnugetをインストールする必要があります。
AndroidXml
SharpCompress
使用してAndroidXmlを。 使用してSharpCompress.Archivesを。 使用してSystem.Dataを。 使用してSystem.IOを。 使用してSystem.Linqのを。 使用してSystem.Xmlのを。 名前空間 ******** { /// <要約> /// 包阅读器 /// </要約> パブリック 静的 クラスPackageReader { /// <要約> /// 获取APK包名 /// </要約> /// <PARAM NAME = "ストリーム"> 文件流</ param>の /// <リターン> </リターン> 公共の 静的 ストリングGetPackageNameFromApk(ストリームstream) { 使用(IArchive zipReader = ArchiveFactory.Open(ストリーム)) { IArchiveEntryのADF = zipReader.Entries.FirstOrDefault(W => w.Key == " のAndroidManifest.xml " )。 もし(ADF == NULL ) { 戻り 列.Empty。 } 使用(MemoryStreamをMemoryStreamを= 新しいのMemoryStream()) { adf.OpenEntryStream()メソッドCopyTo(のMemoryStream)。 memoryStream.Seek(0 、SeekOrigin.Begin)。 AndroidXmlReaderリーダー = 新しいAndroidXmlReader(のMemoryStream)。 一方、(reader.Read()) { スイッチ(reader.NodeType) { ケースXmlNodeType.Element: のために(int型 i = 0 ; I <reader.AttributeCount; iは++ ) { reader.MoveToAttribute(i)を、 もし(reader.Name!= " パッケージ")//読むだけでは、フィルタパッケージ名 { 続行; } 返すreader.Valueを; } reader.MoveToElement(); BREAK ; } } } を返す 文字列.Empty; } } /// <要約> /// 取得し、パッケージ名AAR / // </要約> /// <PARAM NAME = "ストリーム"> ファイル・ストリーム</ param>の /// <リターン> </戻り> パブリック 静的 文字列GetPackageNameFromAar(ストリームstream) { 使用(IArchive zipReader = ArchiveFactory.Open(ストリーム)) { IArchiveEntry ADF = zipReader.Entries.FirstOrDefault(W => w.Key == " のAndroidManifest.xml " ); もし(ADF == NULL ) { 戻り 列.Empty。 } データセットDS = 新しいデータセット()。 使用して(MemoryStreamをMemoryStreamを= 新しいですMemoryStream()) { adf.OpenEntryStream()メソッドCopyTo(のMemoryStream)。 memoryStream.Seek(0 、SeekOrigin.Begin)。 ds.ReadXml(のMemoryStream)。 } DataRowCollection行 = ds.Tables [ " マニフェスト" ] .Rows。 オブジェクトの結果=行[ 0 ] [ " パッケージ" ]。 リターン結果?.ToString()?? 文字列.Empty; } } } }