appium

2017-12-31 15 views
0

のAndroid APKのアクティビティ名を読んでください。Android APKのアクティビティ名を取得する必要があります。 appiumのGUIを試してみましたが、同じものを使用しましたが、 "アプリケーションがアクティビティが正しくないため起動できません"というコードを実行中にエラーが発生しています。appium

私は正しいアクティビティを探す方法を知りたいので、他のアプリケーションのスクリプトも簡単にコーディングできます。 私はappium server V-1.7とjava client-V5.0を使用しています

答えて

1

アンドロイドデコンパイラを使用しなければなりません。

リンクの下に追随する

http://www.javadecompilers.com/apk

手順試してください:あなたはaaptコマンド

aapt list -a /path/to/your/apk | sed -n '/ activity /{:loop n;s/^.*android:name.*="\([^"]\{1,\}\)".*/\1/;T loop;p;t}' 

でAPKから活動を取得してパッケージ名を取得することができます

1. Choose correct .apk file from your system. 

2. Upload and Decompile apk. 

3. After sometime apk will be decompile and you will get source code of 
it. 


4. Refer AndroidMenifest.xml file and find launcher tag in menifest, 
And mention activity which using this tag is the activity you want. 
+0

ありがとうございました –

+0

@Gaurav Singh:答えを受け入れることはできますか? –

0

を次のコマンド

aapt dump badging /path/to/your/apk | sed -n "/package: name=/{s/.*package: name='\([^\']\{1,\}\)'.*/\1/;p}" 

パッケージ名とアクティビティ名があり、アクティビティにエクスポートされた属性セットがある場合は、次のコマンドでアクティビティを開始できます。

$ adb shell am start -n '<package-name>/<activitiy>' 
+0

アクティビティコマンドが機能していないと、 'sed'エラーが内部コマンドまたは外部コマンドとして認識されません。 Appiumテストのための正確なコマンドを共有するのに役立ちます。私はWindows OSを使用しています –

0

は、私はこのようにそれを行うために使用される:

adb pm list packages -f | grep "any_filter" 
「any_filter」パッケージの

例(私の本当の数が含まれているすべてのパッケージインストーラのリストが表示されます

最終コマンドデバイス):

com.adobe.reader 
com.teamviewer.host.samsung 
com.whatsapp 

そして、一度そのアプリのパッケージを入手してください。各アプリのアクティビティを取得するには:

adb pm dump com.adobe.reader | grep -A 1 MAIN 
adb pm dump com.teamviewer.host.samsung | grep -A 1 MAIN 
adb pm dump com.whatsapp | grep -A 1 MAIN 

あなたは、それはいくつかの活動を持っている可能性があることがわかります...あなたがしようとする必要がありますが、あなたはウィッヒ1は、その名前である把握することができます...


adb shell "dumpsys window windows | grep –E 'mCurrentFocus'"

を、このコマンドを使用すると、実行中のアプリの現在の活動を取得することができます:

は、デバイスにアプリあなたを開き、コマンドラインからコマンドを実行するオプションもあり