Làm cách nào để nhận chứng chỉ vân tay SHA-1 trong Android Studio cho chế độ gỡ lỗi?

537
Setu Kumar Basak 2014-12-23 09:47.

Tôi đã chuyển mình từ Eclipse sang Android Studio . Bây giờ tôi đang cố gắng làm việc trên ứng dụng Bản đồ của mình. Vì vậy, tôi cần số chứng chỉ vân tay SHA-1 của mình.

Khi tôi sử dụng Eclipse, nó nằm ngay trong Windows -> Preferences -> Android -> Build . Nhưng trong Android Studio, tôi không thể tìm thấy bất kỳ tùy chọn nào như thế này để có thể dễ dàng tìm thấy dấu vân tay. Tôi đang sử dụng Windows. Tôi đã đọc từ liên kết này rằng:

Android Studio tự động ký ứng dụng của bạn ở chế độ gỡ lỗi khi bạn chạy hoặc gỡ lỗi dự án của mình từ IDE.

Vì vậy, tôi đã cố gắng chạy điều này trong dòng lệnh sau khi thiết lập đường dẫn bin Java của mình từ liên kết này và rất tiếc không thể tìm thấy dấu vân tay của tôi. Người ta nói rằng đó là một lựa chọn bất hợp pháp .

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Có cách nào để tìm vân tay SHA-1 từ Android Studio như cách rất dễ dàng trong Eclipse không? Vì tôi là người mới trong Android Studio, quy trình đầy đủ để tìm nó là gì?

Một điều khác mà tôi muốn thêm là tôi có Eclipse của tôi tạo ra dấu vân tay SHA-1 và trước đây tôi đã đăng ký ứng dụng của mình trên dấu vân tay đó trong bảng điều khiển dành cho nhà phát triển của Google và tôi đã làm việc trên ứng dụng đó trong Eclipse bằng khóa API đó. Khóa API tương tự có thể hoạt động trên dự án này của tôi trong Android Studio không?

30 answers

1342
Hiren Patel 2015-12-12 02:22.

Cách dễ nhất từ ​​trước đến nay:

Đã thêm bản cập nhật cho Android Studio V 2.2 ở bước trước

Có hai cách để làm điều này.

1. Cách nhanh hơn :

  1. Mở Android Studio
  2. Mở dự án của bạn
  3. Nhấp vào Gradle (Từ Bảng bên phải, bạn sẽ thấy Gradle Bar )
  4. Nhấp vào Làm mới (Nhấp vào Làm mới từ Thanh Gradle , bạn sẽ thấy các tập lệnh List Gradle của Dự án của bạn)
  5. Nhấp vào Dự án của bạn ( Danh sách biểu mẫu Tên Dự án của bạn (gốc))
  6. Nhấp vào Nhiệm vụ
  7. Nhấp vào Android
  8. Nhấp đúp vào SignReport (Bạn sẽ nhận được SHA1MD5 trong Run Bar (Đôi khi nó sẽ có trong Gradle Console))
  9. Chọn mô-đun ứng dụng từ menu thả xuống chọn mô-đun để chạy hoặc gỡ lỗi ứng dụng của bạn

Kiểm tra ảnh chụp màn hình bên dưới:

2. Làm việc với Hoạt động của Google Maps :

  1. Mở Android Studio
  2. Mở dự án của bạn
  3. Nhấp vào menu Tệp -> Chọn Mới -> Nhấp vào Google -> Chọn Hoạt động trên Google Maps
  4. Một hộp thoại sẽ xuất hiện -> Nhấp vào Kết thúc
  5. Android Studio sẽ tự động tạo ra một XML tập tin được đặt tên vớigoogle_maps_api.xml
  6. Bạn sẽ nhận được khóa SHA1 gỡ lỗi tại đây (ở dòng số 10 của tệp XML)

Kiểm tra Ảnh chụp màn hình bên dưới:

Cập nhật Android Studio V 2.2

Có sự cố với Thực thi .

Giải pháp:

  • Nhấp vào Chuyển đổi chế độ thực thi / văn bản tác vụ từ thanh Run

Kiểm tra Ảnh chụp màn hình bên dưới:

Làm xong.

302
Jamil 2014-12-25 05:23.

Vấn đề của tôi cũng giống như tôi cũng đã chuyển dự án Google Maps của mình từ Eclipse sang Android Studio . Tôi đã giải quyết vấn đề của mình bằng cách sau:

Đi tới thư mục bin Java của bạn thông qua lệnh:

C:\Program Files\Java\jdk1.7.0_71\bin>

Bây giờ gõ lệnh dưới đây trong cửa sổ lệnh của bạn (CMD.EXE):

keytool -list -v -keystore c:\users\your_user_name\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

Thí dụ:

keytool -list -v -keystore c:\users\James\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

Hoặc bạn có thể viết điều này trong cmd nếu bạn không biết tên người dùng:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Và bạn sẽ nhận được SHA1.

Sau đó, tôi đã tạo khóa mới từ https://code.google.com/apis/console vì tên gói của tôi đã bị thay đổi và sau đó sử dụng khóa này trong ứng dụng của mình. Nó hoạt động tốt.

Đảm bảo rằng bạn đang ở trong thư mục BIN của jdkX.X.X_XX (tên thư mục của tôi là jdk1.7.0_71) , nếu không, nếu bạn không biết bạn có tên thư mục nào thì hãy tìm nó bằng cách mở thư mục Java và bạn sẽ thấy tên thư mục là gì, nhưng bạn phải ở trong thư mục BIN và sau đó chạy lệnh này. Hôm nay tôi đã nhận được giá trị SHA1 của mình trong cửa sổ lệnh cmd bằng quy trình trên.

SNAPSHOT:

138
JoeNCA 2015-02-06 07:33.

Đối với Mac, điều này hoạt động hoàn hảo:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
113
Stanislav Bondar 2015-02-23 00:28.

Tôi vừa tìm thấy trường hợp để tải SHA-1 trong Android Studio:

  1. Nhấp vào gói của bạn và chọn Mới -> Google -> Hoạt động trên Google Maps
  2. Android Studio chuyển hướng bạn đến google_maps_api.xml

Và bạn sẽ thấy tất cả những gì bạn cần có google_maps_key.

47
Ismaran Duwadi 2016-03-28 21:18.

Giải pháp tốt nhất để tạo khóa SHA-1 cho Android là từ Android Studio .

Nhấp vào Gradle ở ngoài cùng bên phải:

Nhấp vào biểu tượng làm mới và bạn sẽ thấy tên của ứng dụng:

Nhấp vào Nhiệm vụ -> Báo cáo -> Ký Báo cáo :

Tìm phím SHA-1 ở phần dưới cùng trong bảng điều khiển:

40
Dinesh Sunny 2016-12-20 21:48.

[Cập nhật năm 2017]

Bước 1: Ở phía trên bên phải của Android Studio, nhấp vào tùy chọn Gradle.

Bước 2:

- Nhấp vào Làm mới (Nhấp vào Làm mới từ Thanh Gradle, bạn sẽ thấy các tập lệnh List Gradle của Dự án của bạn)

- Nhấp vào Dự án của bạn (Danh sách biểu mẫu Tên Dự án của bạn (gốc))

- Nhấp vào Nhiệm vụ

- Nhấp vào Android

- Nhấp đúp vào SignReport (Bạn sẽ nhận được SHA1 và MD5 trong Gradle Console / Run Bar)

Bước 3: Nhấp vào tùy chọn Gradle Console ở cuối Android Studio để xem Khóa SHA1 của bạn.

Bước 4: Bây giờ bạn đã có khóa SHA nhưng bạn không thể chạy dự án của mình, đó là lý do tại sao Thay đổi cấu hình của bạn thành chế độ ứng dụng. Xem hình ảnh bên dưới.

Như thế này.

Bước 5: Mã hóa vui vẻ !!

23
Arpit Patel 2016-10-04 20:26.

tôi đang đi với câu trả lời @Hiren Patel nhưng thay đổi một chút trong android studio 2.2 trở lên

21
Vicky 2015-09-12 02:56.

Dành cho Linux và Mac

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 
16
Son Nguyen Thanh 2016-05-20 17:30.

Tôi đã làm theo cách này:

Bước 1: Đi tới thư mục này

On Mac: /Users/<username>/.android/

On Windows: C:\Documents and Settings\<username>\.android\

On Linux: ~/.android/

Bước 2: Chạy dòng lệnh này:

keytool -list -v -keystore debug.keystore -storepass android

Bạn sẽ thấy phím SHA-1.

15
Sadegh-khan 2017-10-17 00:13.
  1. Nhấp vào Biểu tượng Gradle trong Ngăn bên phải.
  2. Nhấp vào Tên dự án gốc.
  3. Nhấp vào Nhiệm vụ
  4. Nhấp vào Android
  5. Nhấp vào Ký tên
  6. trong ngăn dưới cùng nơi bạn thấy Chạy báo cáo
  7. Nhấp vào "Chuyển đổi Công việc Thực thi / chế độ văn bản"
  8. bạn có thể thấy sha-1

11
Hanuman 2015-06-11 20:00.

Tôi đã trực tiếp sử dụng lệnh sau từ máy Mac của mình bằng thiết bị đầu cuối. Tôi có SHA1 Finger. Đây là lệnh:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
9
Badr 2015-09-17 13:20.

Để nhận SHA1 cho kho khóa sản xuất:

  1. Xây dựng -> Tạo APK đã ký ...

  2. Tạo kho khóa bằng mật khẩu và làm theo các bước

  3. Truy cập Mac / Library / Java / JavaVirtualMachines / jdk1.8.0_20.jdk / Contents / Home / bin và kéo thư mục bin vào terminal sau lệnh cd để trỏ vào nó để bạn có thể sử dụng công cụ keytool. Vì vậy, trong terminal write cd(kéo bin vào đây), sau đó nhấn enter.

  4. Sau đó, sao chép và dán nó vào thiết bị đầu cuối:

    keytool -exportcert -alias Your_keystore_AliasName -keystore /Users/Home/Development/AndroidStudioProjects/YoutubeApp/app/YoutubeApp_keystore.jks -list -v
    

    Xóa đường dẫn của tôi và đi đến nơi bạn đã lưu trữ kho khóa của mình và kéo keystone của bạn và thả nó vào sau -keystoretrong dòng lệnh để đường dẫn sẽ được tạo.

    Ngoài ra, xóa Your_keystore_AliaseName để đặt tên keystone bí danh của bạn mà bạn đã sử dụng khi tạo nó.

  5. Nhấn Entervà nhập mật khẩu :)

  6. Khi bạn nhập mật khẩu, thiết bị đầu cuối sẽ không hiển thị rằng nó nhận được các mục nhập từ bàn phím, nhưng nó thực sự có, vì vậy hãy nhập mật khẩu và nhấn Enterngay cả khi bạn không thấy mật khẩu được gõ ra.

7
David Hackro 2016-03-19 07:19.

Nó rất dễ dàng trong Gnu / Linux - Mac - Windows

Đầu tiên: - sao chép lệnh này

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

Thứ hai: Bây giờ sao chép và dán lệnh vào thiết bị đầu cuối của Android Studio

Kết quả!

Chúc may mắn!!

7
SergioLucas 2015-06-28 10:49.

Nếu đang sử dụng Android Studio, bạn có thể nhận tệp tham chiếu chứng chỉ SHA-1 và MD5 (gỡ lỗi, phát hành ... tất cả các Loại bản dựng !!) nhanh chóng thông qua Gradle Tasks :

SignReport

Chứng chỉ SHA-1 và MD5 được hiển thị trong Nhật ký Tin nhắn .

Android Plugin (được định cấu hình trong ứng dụng Gradle) tạo chế độ gỡ lỗi cho mặc định.

com.android.application

Đường dẫn tệp đến kho khóa:

HOME/.android/debug.keystore

Tôi khuyên bạn nên đính kèm debug.keystore vào build.gradle. Để thực hiện việc này, hãy đặt một tệp, debug.keystoretrong một thư mục ứng dụng và sau đó Thêm SigningConfigs trong ứng dụng Gradle :

apply plugin: 'com.android.application'

    android {
        ................
        signingConfigs {
            debug {
                storeFile file("../app/debug.keystore")
                storePassword "android"
                keyAlias "androiddebugkey"
                keyPassword "android"
            }
            release {
                storeFile file("../app/debug.keystore")
                storePassword "android"
                keyAlias "androiddebugkey"
                keyPassword "android"
            }
        }
        ........
    }

Bổ sung: Nếu bạn muốn tạo để phát hành, hãy đặt tệp release.keystore, trong thư mục ứng dụng. (Ví dụ này sử dụng tương tự debug.keystore.)

6
Rizwan Ahmed 2015-03-22 03:03.

Nếu bạn có Android Studio thì rất đơn giản. Chỉ cần tạo MapActivity bằng Android Studio và sau khi tạo nó, hãy truy cập google_maps_api.xml. Trong đó sẽ có một liên kết được đưa ra trong bình luận. Nếu bạn dán nó vào trình duyệt của mình, nó sẽ yêu cầu điền một số chi tiết và sau đó API của bạn sẽ được tạo. Không cần sử dụng keytool và tất cả.

Ảnh chụp màn hình:

6
KCN 2016-03-01 19:29.

Điều này đã hoạt động trong trường hợp của tôi: Sử dụng % USERPROFILE% thay vì đưa tệp .keystore đường dẫn được lưu trữ trong đường dẫn này tự động C: \ Users / tên người dùng / .android :

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
5
Sangeeta 2016-11-11 04:18.

Sử dụng lệnh đơn giản:

keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v

và bạn sẽ nhận được chìa khóa SHA1.

4
Javad Jafari 2015-10-16 19:47.

Đối với Windows 10 , từ thiết bị đầu cuối Android Studio :

keytool -exportcert -alias androiddebugkey -keystore %USER_PROFILE%"/.android/debug.keystore -list -v

Lưu ý: Đối với debug.keystore, mật khẩu là "android". Kho khóa gỡ lỗi thường được đặt tại "%USER_PROFILE%"/.android/debug.keystore.

4
Setu Kumar Basak 2015-01-22 21:35.

Tôi muốn bổ sung một điều với câu trả lời do Softcoder đưa ra . Tôi đã thấy một số người không thể cung cấp chính xác đường dẫn debug.keystore của họ trên command line. Họ thấy rằng họ đang thực hiện đúng quy trình được chấp nhận ở trên, nhưng nó không hoạt động. Tại thời điểm đó, hãy thử kéo debug.keystore và thả nó vào dòng lệnh. Nó sẽ hữu ích nếu câu trả lời được chấp nhận không phù hợp với bạn. Làm toàn bộ quá trình mà không có bất kỳ do dự. Đó là một câu trả lời hay.

4
Md Sufi Khan 2015-12-08 22:16.

Tôi đã tìm thấy một quá trình rất dễ dàng để tìm thấy dấu vân tay MD5, SHA-1 của bạn bằng Android Studio.

  1. Chạy dự án của bạn
  2. Đi tới Trình đơn Gradle (Trình đơn: View -> Tool Windows -> Gradle)
  3. Đi tới 'SignReport' trong cửa sổ Gradle. (Dự án của bạn -> Nhiệm vụ -> android -> Báo cáo ký kết)
  4. Chạy nó. (Sử dụng nhấp đúp hoặc Ctrl + Shift + F10)
  5. Trong cửa sổ Run, bạn sẽ tìm thấy tất cả thông tin.

Nó chỉ hoạt động cho chế độ gỡ lỗi. Ở chế độ bán lại, tôi không thể nhìn thấy sha-1. Đây là kết quả củagradlew signingReport

Variant: release
Config: none
----------
Variant: releaseUnitTest
Config: none
----------
Variant: debug
Config: debug
Store: path\Android\avd\.android\debug.keystore
Alias: AndroidDebugKey
MD5: xx:xx:xx:62:86:B7:9C:BC:FB:AD:C8:C6:64:69:xx:xx
SHA1: xx:xx:xx:xx:0F:B0:82:86:1D:14:0D:AF:67:99:58:1A:01:xx:xx:xx
Valid until: Friday, July 19, 2047
----------

Vì vậy, tôi phải sử dụng keytool để có được sha-1. Đây là tài liệu chính thức của Firebase:

Get_sha-1_for_release

3
Balman Rawat 2016-01-12 21:15.

Nhấp vào biểu tượng Gradle trên bảng điều khiển bên phải, sau đó nhấp vào (gốc).

Nhiệm vụ> android> signReport

Sau đó, tập lệnh Gradle sẽ thực thi và bạn sẽ thấy các khóa của mình.

3
Sagar Gadani 2018-03-17 02:32.

Đơn giản, hãy gọi phương thức này trong Splash Screen của bạn: hash () và getCertificateSHA1Fingerprint (), sau đó các phím sẽ hiển thị trong nhật ký

private void hash() {


            PackageInfo info;
            try {

                info = getPackageManager().getPackageInfo(
                        this.getPackageName(), PackageManager.GET_SIGNATURES);

                for (android.content.pm.Signature signature : info.signatures) {
                    MessageDigest md;
                    md = MessageDigest.getInstance("SHA");
                    md.update(signature.toByteArray());
                    Log.e("sagar sha key", md.toString());
                    String something = new String(Base64.encode(md.digest(), 0));
                    Log.e("sagar Hash key", something);
                    System.out.println("Hash key" + something);
                }

            } catch (PackageManager.NameNotFoundException e1) {
                Log.e("name not found", e1.toString());
            } catch (NoSuchAlgorithmException e) {
                Log.e("no such an algorithm", e.toString());
            } catch (Exception e) {
                Log.e("exception", e.toString());
            }
        }

        private void getCertificateSHA1Fingerprint() {
            PackageManager pm = this.getPackageManager();
            String packageName = this.getPackageName();
            int flags = PackageManager.GET_SIGNATURES;
            PackageInfo packageInfo = null;
            try {
                packageInfo = pm.getPackageInfo(packageName, flags);
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }
            Signature[] signatures = packageInfo.signatures;
            byte[] cert = signatures[0].toByteArray();
            InputStream input = new ByteArrayInputStream(cert);
            CertificateFactory cf = null;
            try {
                cf = CertificateFactory.getInstance("X509");
            } catch (CertificateException e) {
                e.printStackTrace();
            }
            X509Certificate c = null;
            try {
                c = (X509Certificate) cf.generateCertificate(input);
            } catch (CertificateException e) {
                e.printStackTrace();
            }
            String hexString = "";
            try {
                MessageDigest md = MessageDigest.getInstance("SHA1");
                byte[] publicKey = md.digest(c.getEncoded());
                Log.e("sagar SHA",byte2HexFormatted(publicKey));
            } catch (NoSuchAlgorithmException e1) {
                e1.printStackTrace();
            } catch (CertificateEncodingException e) {
                e.printStackTrace();
            }
        }

        public static String byte2HexFormatted(byte[] arr) {
            StringBuilder str = new StringBuilder(arr.length * 2);
            for (int i = 0; i < arr.length; i++) {
                String h = Integer.toHexString(arr[i]);
                int l = h.length();
                if (l == 1) h = "0" + h;
                if (l > 2) h = h.substring(l - 2, l);
                str.append(h.toUpperCase());
                if (i < (arr.length - 1)) str.append(':');
            }
            return str.toString();
        }

Cảm ơn bạn.

2
Jorgesys 2016-04-17 13:22.

Sử dụng các hướng dẫn từ Trình quản lý API bằng keytool:

Lấy tên gói từ tệp AndroidManifest.xml của bạn. Sau đó, sử dụng lệnh sau để lấy dấu vân tay:

keytool -list -v -keystore mystore.keystore

2
Kabir 2014-12-23 22:21.
  • Đi tới Tệp> Cấu trúc Dự án Chọn apphoặc mobilebất cứ điều gì bạn đã đặt tênModules

  • Chọn Signingtab.

  • Bạn có thể thêm chứng chỉ bằng cách nhấp vào +nút.

1
SANJAY GUPTA 2016-08-25 03:19.

Bạn có thể sử dụng lệnh sau và thay đổi AJAY SUNDRIYAL bằng tên hệ thống của bạn. Điều này chỉ dành cho debug.keystore của bạn. Điều này sẽ hiệu quả với bạn.

C:\Program Files\Java\jdk1.8.0_91\bin>keytool -list -v -keystore "c:\users\AJAY SUNDRIYAL\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
1
Jenia 2015-03-01 14:16.

Điều này đã làm việc cho tôi:

keytool -exportcert -alias androiddebugkey -keystore

Đặt path-to-debug-or-production-keystore ở đây như C: \ users \ youruser.android \ debug.keystore -list -v

Đảm bảo rằng bạn đã ở trong Java\jdk*\binthư mục trong cửa sổ lệnh hoặc dòng lệnh.

Sau đó sử dụng Android làm mật khẩu.

Đôi khi tài nguyên web có thể gây hiểu lầm. Đây là những thứ đang hoạt động:

1
Happy Singh 2015-08-06 22:08.

Đường dẫn của kho khóa được đặt trong dấu ngoặc kép. Nó đang hoạt động tốt.

keytool -list -v -keystore "C:\Users\App innovation\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
1
Anton Smirnov 2015-12-07 22:06.

Nếu bạn cần SHA1 cho Google Maps , bạn chỉ có thể xem nhật ký lỗi của mình trong LogCat .

1
Anthony 2016-02-18 05:03.

Khi tạo một "Dự án Google Maps" mới, trong Android Studio V 1.5.1, màn hình cuối cùng sẽ mở google_maps_api.xmltệp và hiển thị màn hình với các hướng dẫn như sau:

Tài nguyên:

VIỆC CẦN LÀM: Trước khi chạy ứng dụng của mình, bạn cần có khóa API Google Maps.

Để có một cái, hãy nhấp vào liên kết này, làm theo hướng dẫn và nhấn "Tạo" ở cuối:

https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r= SHA-1 + TÊN GÓI CỦA BẠN

Bạn cũng có thể thêm thông tin đăng nhập của mình vào khóa hiện có, sử dụng dòng này:
SHA-1: TÊN GÓI CỦA BẠN

Ngoài ra, hãy làm theo chỉ dẫn tại đây:
https://developers.google.com/maps/documentation/android/start#get-key

Sau khi bạn có khóa của mình (nó bắt đầu bằng "AIza"), hãy thay thế chuỗi "google_maps_key" trong tệp này.
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR GOOGLE MAPS KEY</string>

Để nhận GOOGLE MAPS KEY CỦA BẠN, chỉ cần cắt và dán liên kết URL được cung cấp vào trình duyệt của bạn và làm theo hướng dẫn ở trên tại thời điểm tạo ứng dụng mới. Các SHA-1Package namesđã có trong liên kết được đưa ra nên bạn không cần biết chúng. Tuy nhiên, chúng sẽ nằm trong dự án của bạn trong resources>Values>google_maps_api.xmltệp được hoàn thành khi bạn làm theo hướng dẫn về cách tạo dự án.

1
narcis dpr 2020-10-22 23:49.

đối với tôi cách ngắn nhất là gõ ./gradlew signingReportvào dòng lệnh đầu cuối.

Related questions

MORE COOL STUFF

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

8 công dụng tuyệt vời của Baking Soda và Giấm

8 công dụng tuyệt vời của Baking Soda và Giấm

Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

Một thương hiệu kế thừa khác có được cuộc sống mới khi những người chủ mới của Black Opal có được Hội chợ thời trang

Một thương hiệu kế thừa khác có được cuộc sống mới khi những người chủ mới của Black Opal có được Hội chợ thời trang

Desiree Rogers, trái, và Cheryl Mayberry McKissack Chuyển sang, Fenty Beauty và Pat McGrath, có một đế chế làm đẹp mới do phụ nữ làm chủ đang trỗi dậy. Sau thương vụ mua lại mỹ phẩm Black Opal vào tháng 9, đội ngũ quyền lực của Giám đốc điều hành công ty Desiree Rogers và Chủ tịch Cheryl Mayberry McKissack đã thông báo mua lại thương hiệu làm đẹp tiên phong Fashion Fair từ người sáng lập Johnson Publishing Company (JPC).

Ngoài việc trở nên vô nghĩa, các bên bộc lộ giới tính giờ đây đã trở nên chết người

Ngoài việc trở nên vô nghĩa, các bên bộc lộ giới tính giờ đây đã trở nên chết người

Đối với những người có quá nhiều thời gian, tiệc tiết lộ giới tính là một cách thú vị để không cần áp đặt những định kiến ​​hạn chế lên thai nhi trước một đối tượng bạn bè giả vờ quan tâm một cách lịch sự. Tuy nhiên, việc chỉ dựa vào những chiếc bánh nướng có màu nhân tạo để biểu thị một tiếng hoo-ha hoặc một đứa trẻ đi tè đã trở nên xa xỉ trong các bậc cha mẹ trên Instagram.

Kirstjen Nielsen đang cố gắng đổi mới bản thân với tư cách là một người phụ nữ 'nói ra sự thật cho sức mạnh'

Kirstjen Nielsen đang cố gắng đổi mới bản thân với tư cách là một người phụ nữ 'nói ra sự thật cho sức mạnh'

Hôm thứ Tư, cựu Bộ trưởng An ninh Nội địa Kirstjen Nielsen vì một lý do nào đó đã được đưa ra một diễn đàn để phát biểu tại Hội nghị thượng đỉnh Những người phụ nữ quyền lực nhất của Fortune. Và có thể đoán trước được, người phụ nữ giám sát các nỗ lực (đang diễn ra) của chính quyền Trump nhằm chia cắt các gia đình ở biên giới đã sử dụng thời gian của mình như một cơ hội để tự bảo vệ mình và tự nhận mình là người — và hãy hít thở sâu ở đây — “đã nói sự thật với quyền lực.

Toyota Racing Development sẽ cho ra mắt Supra 3000GT Concept, Massive Wing vào tháng tới

Toyota Racing Development sẽ cho ra mắt Supra 3000GT Concept, Massive Wing vào tháng tới

Vì thế hệ mới nhất của chiếc xe điều chỉnh được yêu thích trên thế giới hiện đã có mặt tại đây, nên chỉ có điều kiện là Toyota Racing Development sẽ đưa phiên bản Supra thế hệ thứ năm sửa đổi của riêng mình đến SEMA vào tháng tới. Toyota đã cho chúng tôi một gợi ý về những gì sẽ xảy ra trong tuần này: một chiếc Concept GR Supra 3000GT hiện đại.

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Vụ kiện, nêu tên một số học khu, lập luận rằng dự luật "Không nói đồng tính" được ban hành gần đây của Florida "có hiệu quả im lặng và xóa bỏ học sinh và gia đình LGBTQ +"

Đường băng hạ cánh

Đường băng hạ cánh

Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Tôi ghét từ "tàu đắm". Mọi người cảm thấy thoải mái trong la bàn đạo đức của riêng mình, và khi làm như vậy, họ thấy mình vượt qua sự phán xét.

Language