-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


[ ] Android linux

, 07 2017 . 13:11 +

image


apk Ubuntu
.


Adroid Android Studio.
.
, .


, , ,
- .



Android ,
- .


QPython, .
. Java
.


. , .


, Windows.


, linux.



, 1
8 SSD .



Ubuntu 17.04.
Ubunu 16.04 android-sdk .


SDK

, SDK
.
'Get just the command line tools'
, .
"android-platform".



, .


sudo apt install android-sdk

, Java.


, Android,
. lolipop 5.1 :


sudo apt install google-android-platform-22-installer
sudo apt install google-android-build-tools-22-installer

.


sudo apt install apksigner

apk- adb, .


adb


lsusb


# lsusb
....
Bus 001 Device 004: ID 1782:75b0 MyDevice
....

:


sudo vi /etc/udev/rules.d/51-android.rules

:


SUBSYSTEM=="usb", ATTR{idVendor}=="1782", MODE="0666", GROUP="plugdev"

"1782" lsusb.



sudo systemctl restart udev

adb, .


.



, , 'Hello world'.


  • .
  • .
  • Toast .

- .


.



:


keytool -genkeypair -keystore keystore.jks -alias androidkey \
      -validity 10000 -keyalg RSA -keysize 2048 \
      -storepass android -keypass android

.



AndroidManifest.xml


    
    
        
            
                
                
            
        
    

"android:label".
, "android:icon"
"res/drawable-mdpi" "icon.png". png .


Layout


"/res/layout/".


activity_main.xml



    

      


, .



"java/ru/kx13/extractvidid"


MainActivity.java
package ru.kx13.extractvidid;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Button;
import android.widget.Toast;
import android.view.View;
import android.content.ClipboardManager;
import android.content.ClipData;

public class MainActivity extends Activity {
  private static String extract(String s) {
    int start = s.indexOf("%3D");
    int end = s.indexOf("%26");
    if(start == -1 ||  end == -1) {
      return "error";
    }
    return s.substring(start + 3, end);
  }

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView text = (TextView)findViewById(R.id.my_text);
    text.setText("  youtube video id");
    Button button = (Button) findViewById(R.id.button_id);
    button.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        ClipboardManager myClipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
        ClipData abc = myClipboard.getPrimaryClip();
        ClipData.Item item = abc.getItemAt(0);
        String text = item.getText().toString();
        String video_id = MainActivity.extract(text);
        ClipData myClip = ClipData.newPlainText("text", video_id);
        myClipboard.setPrimaryClip(myClip);

        Toast toast = Toast.makeText(getApplicationContext(), 
            video_id, Toast.LENGTH_SHORT); 
        toast.show(); 
      }
    });
  }
}

, .



make ant, ..
.
shell :


build.sh
#!/bin/sh
SOURCE=ru/kx13/extractvidid
BASE=/usr/lib
SDK="${BASE}/android-sdk"
BUILD_TOOLS="${SDK}/build-tools/22.0.1"
PLATFORM="${SDK}/platforms/android-22"
mkdir -p build/gen build/obj build/apk
"${BUILD_TOOLS}/aapt" package -f -m -J build/gen/ -S res -M AndroidManifest.xml -I "${PLATFORM}/android.jar"
javac -source 1.7 -target 1.7 -bootclasspath "${JAVA_HOME}/jre/lib/rt.jar" \
         -classpath "${PLATFORM}/android.jar" -d build/obj \
         build/gen/${SOURCE}/R.java java/${SOURCE}/MainActivity.java
"${BUILD_TOOLS}/dx" --dex --output=build/apk/classes.dex build/obj/
"${BUILD_TOOLS}/aapt" package -f -M AndroidManifest.xml -S res/  -I "${PLATFORM}/android.jar" \
        -F build/Extractor.unsigned.apk build/apk/
"${BUILD_TOOLS}/zipalign" -f 4 build/Extractor.unsigned.apk build/Extractor.aligned.apk
apksigner sign --ks keystore.jks \
        --ks-key-alias androidkey --ks-pass pass:android \
              --key-pass pass:android --out build/Extractor.apk \
              build/Extractor.aligned.apk

.


  • , BASE , . SDK , .
  • API 22, BUILD_TOOLS PLATFORM



./build.sh

, "build" "Extractor.apk"



adb install -r build/Extractor.apk

, .
.


apk .



.


.


!

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/335074/

:  

: [1] []
 

:
: 

: ( )

:

  URL